3cc2dfb45613b061c42ac87c6fede8574fe8e723
[sdnc/northbound.git] / generic-resource-api / model / src / main / yang / GENERIC-RESOURCE-API.yang
1 module GENERIC-RESOURCE-API {\r
2 \r
3    namespace "org:onap:sdnc:northbound:generic-resource";\r
4 \r
5    prefix generic-resource-api;\r
6 \r
7    import ietf-inet-types { prefix "inet"; revision-date "2010-09-24"; }\r
8 \r
9    import ietf-yang-types { prefix yang; }\r
10 \r
11    revision "2017-08-24" {\r
12      description\r
13         "ONAP Amsterdam version";\r
14    }\r
15 \r
16    grouping service-model-infrastructure {\r
17       list service {\r
18          key "service-instance-id";\r
19          leaf service-instance-id {\r
20             description "Keep as M";\r
21             type string;\r
22             mandatory true;\r
23          }\r
24          uses service-data;\r
25          uses service-status;\r
26       }\r
27    }\r
28    grouping service-data {\r
29       container service-data {\r
30          uses service-operation-information;\r
31          uses service-topology;\r
32          uses service-level-oper-status;\r
33          container networks {\r
34             list network {\r
35                key "network-id";\r
36                leaf network-id {\r
37                   type string;\r
38                   mandatory true;\r
39                }\r
40                container network-data {\r
41                   uses network-operation-information;\r
42                   uses network-topology;\r
43                   container network-provided-allotted-resources {\r
44                      leaf-list network-provided-ar-id {\r
45                         description "List of allotted resources using capacity from this network";\r
46                         type string;\r
47                         ordered-by user;\r
48                      }\r
49                   }\r
50                   uses network-level-oper-status;\r
51                }\r
52             }\r
53          }\r
54          container vnfs {\r
55             list vnf {\r
56                key "vnf-id";\r
57                leaf vnf-id {\r
58                   type string;\r
59                   mandatory true;\r
60                }\r
61                container vnf-data {\r
62                   uses vnf-operation-information;\r
63                   uses vnf-topology;\r
64                   container vnf-network-collections {\r
65                      uses vnf-network-collection;\r
66                   }\r
67                   container vnf-sub-interface-groups {\r
68                      uses vnf-sub-interface-group;\r
69                   }\r
70                   container vnf-provided-allotted-resources {\r
71                      leaf-list vnf-provided-ar-id {\r
72                         description "List of allotted resources using capacity from this vnf";\r
73                         type string;\r
74                         ordered-by user;\r
75                      }\r
76                   }\r
77                   uses vnf-level-oper-status;\r
78                   container vf-modules {\r
79                      list vf-module {\r
80                         key "vf-module-id";\r
81                         leaf vf-module-id {\r
82                            type string;\r
83                            mandatory true;\r
84                         }\r
85                         container vf-module-data {\r
86                            uses vf-module-operation-information;\r
87                            uses vf-module-topology;\r
88                            uses vf-module-level-oper-status;\r
89                         }\r
90                      }\r
91                   }\r
92                }\r
93             }\r
94          }\r
95          container consumed-allotted-resources {\r
96             list consumed-allotted-resource {\r
97                key "allotted-resource-id";\r
98                uses allotted-resource-info;\r
99             }\r
100          }\r
101          container provided-allotted-resources {\r
102             list provided-allotted-resource {\r
103                key "allotted-resource-id";\r
104                uses allotted-resource-info;\r
105             }\r
106          }\r
107          container provided-configurations {\r
108             list provided-configuration {\r
109                key "configuration-id";\r
110                uses configuration-info;\r
111             }\r
112          }\r
113          container vnfc-instance-groups {\r
114             uses vnfc-instance-group;\r
115          }\r
116          container network-instance-groups {\r
117             uses network-instance-group;\r
118          }\r
119          container forwarding-paths {\r
120             list forwarding-path {\r
121                key "forwarding-path-id";\r
122                leaf forwarding-path-id {\r
123                   description "Generated by SDNC";\r
124                   type string;\r
125                   mandatory true;\r
126                }\r
127                uses forwarding-path-information;\r
128             }\r
129          }\r
130       }\r
131    }\r
132    grouping service-status {\r
133       container service-status {\r
134          leaf response-code {\r
135             type string;\r
136          }\r
137          leaf response-message {\r
138             type string;\r
139          }\r
140          leaf final-indicator {\r
141             type string;\r
142          }\r
143          leaf request-status {\r
144             type enumeration {\r
145                enum "synccomplete";\r
146                enum "asynccomplete";\r
147                enum "notifycomplete";\r
148             }\r
149          }\r
150          leaf action {\r
151             description "value would one of possible request-actions; match the list in service-data oper-status";\r
152             type string;\r
153          }\r
154          leaf rpc-name {\r
155             type string;\r
156          }\r
157          leaf rpc-action {\r
158             description "this is the svc-action from the incoming request";\r
159             type enumeration {\r
160                enum "assign";\r
161                enum "activate";\r
162                enum "configure";\r
163                enum "delete";\r
164                enum "unassign";\r
165                enum "deactivate";\r
166                enum "create";\r
167             }\r
168          }\r
169          leaf response-timestamp {\r
170             type string;\r
171          }\r
172       }\r
173    }\r
174    grouping service-operation-information {\r
175       uses sdnc-request-header;\r
176       uses request-information;\r
177       uses service-information;\r
178       uses service-request-input;\r
179    }\r
180    grouping service-request-input {\r
181       container service-request-input {\r
182          leaf service-instance-name {\r
183             type string;\r
184          }\r
185          container service-input-parameters {\r
186             uses param;\r
187          }\r
188       }\r
189    }\r
190    grouping service-topology {\r
191       container service-topology {\r
192          uses service-topology-identifier;\r
193          uses onap-model-information;\r
194          uses service-assignments;\r
195          uses service-parameters;\r
196       }\r
197    }\r
198    grouping service-topology-identifier {\r
199       container service-topology-identifier {\r
200          leaf service-instance-id {\r
201             description "repeated";\r
202             type string;\r
203          }\r
204          leaf service-type {\r
205             description "tag labeled subscription-service-type in the service-information input";\r
206             type string;\r
207          }\r
208          leaf service-id {\r
209             description "from MSO input on STO assign";\r
210             type string;\r
211          }\r
212          leaf service-instance-name {\r
213             description "optionally comes from service-request-input container or is assigned by sdn-c";\r
214             type string;\r
215          }\r
216          leaf global-customer-id {\r
217             type string;\r
218          }\r
219       }\r
220    }\r
221    grouping service-assignments {\r
222       container service-assignments {\r
223       }\r
224    }\r
225    grouping service-parameters {\r
226       container service-parameters {\r
227          list service-parameter {\r
228             key "service-parameter-name";\r
229             leaf service-parameter-name {\r
230                type string;\r
231             }\r
232             leaf service-parameter-value {\r
233                type string;\r
234             }\r
235          }\r
236       }\r
237    }\r
238    grouping service-level-oper-status {\r
239       container service-level-oper-status {\r
240          uses oper-status-data;\r
241       }\r
242    }\r
243    grouping network-operation-information {\r
244       uses sdnc-request-header;\r
245       uses request-information;\r
246       uses service-information;\r
247       uses network-information;\r
248       uses network-request-input;\r
249    }\r
250    grouping network-information {\r
251       container network-information {\r
252          leaf network-id {\r
253             type string;\r
254          }\r
255          leaf network-type {\r
256             type string;\r
257          }\r
258          leaf network-technology {\r
259              type string;\r
260          }\r
261          leaf from-preload {\r
262             description "Indicates if source is preload data";\r
263             type boolean;\r
264          }\r
265          uses onap-model-information;\r
266       }\r
267    }\r
268    grouping network-request-input {\r
269       container network-request-input {\r
270          leaf network-name {\r
271             type string;\r
272          }\r
273          uses region-identifier;\r
274          container network-input-parameters {\r
275             uses param;\r
276          }\r
277          leaf network-instance-group-id {\r
278             description "When network has instance-group role in service model";\r
279             type string;\r
280          }\r
281       }\r
282    }\r
283    grouping network-topology {\r
284       container network-topology {\r
285          uses network-topology-identifier-structure;\r
286          uses region-identifier;\r
287          uses onap-model-information;\r
288          uses network-assignments;\r
289          uses network-parameters;\r
290       }\r
291    }\r
292    grouping network-topology-identifier-structure {\r
293       container network-topology-identifier-structure {\r
294          leaf network-id {\r
295             type string;\r
296          }\r
297          leaf network-name {\r
298             type string;\r
299          }\r
300          leaf network-role {\r
301             type string;\r
302          }\r
303          leaf network-type {\r
304             type string;\r
305          }\r
306          leaf network-instance-group-id {\r
307             description "When network is part of network instance-Group-data & instance Group in A&AI";\r
308             type string;\r
309          }\r
310          leaf network-technology {\r
311             type string;\r
312          }\r
313          leaf eipam-v4-address-plan {\r
314             type string;\r
315          }\r
316          leaf eipam-v6-address-plan {\r
317             type string;\r
318          }\r
319          leaf is-trunked {\r
320              type boolean;\r
321          }\r
322          leaf segmentation-id {\r
323             type string;\r
324          }\r
325          container related-networks {\r
326             uses related-network;\r
327          }\r
328       }\r
329    }\r
330    grouping network-assignments {\r
331       container network-assignments {\r
332       }\r
333    }\r
334    grouping network-parameters {\r
335       container network-parameters {\r
336          list network-parameter {\r
337             key "network-parameter-name";\r
338             leaf network-parameter-name {\r
339                type string;\r
340             }\r
341             leaf network-parameter-value {\r
342                type string;\r
343             }\r
344          }\r
345       }\r
346    }\r
347    grouping network-instance-group {\r
348       list network-instance-group {\r
349          key "network-instance-group-id";\r
350          leaf network-instance-group-id {\r
351             description "Also a Key in Network Instance Group in A&AI";\r
352             type string;\r
353             mandatory true;\r
354          }\r
355          leaf network-instance-group-function {\r
356             type string;\r
357          }\r
358          leaf service-instance-id {\r
359             type string;\r
360          }\r
361          uses onap-model-information;\r
362          container subnet-assignment-policy {\r
363             leaf subnet-use {\r
364                description "Current valid values - unique, shared (default)";\r
365                type string;\r
366             }\r
367          }\r
368          container vpn-binding-policy {\r
369             leaf vpn-binding {\r
370                type string;\r
371             }\r
372             leaf vpn-name {\r
373                type string;\r
374             }\r
375             leaf vpn-type {\r
376                type string;\r
377             }\r
378             leaf vpn-platform {\r
379                type string;\r
380             }\r
381             leaf global-route-target {\r
382                type string;\r
383             }\r
384             leaf route-target-role {\r
385                type string;\r
386             }\r
387          }\r
388          uses aggregate-routes;\r
389          uses subnets;\r
390          leaf subnet-key-value {\r
391             description "key-value provided to EIPAM when  creating shared subnet";\r
392             type string;\r
393          }\r
394          container networks {\r
395             list network {\r
396                key "network-id";\r
397                leaf network-id {\r
398                   description "Index into network-topology-identifier structure";\r
399                   type string;\r
400                   mandatory true;\r
401                }\r
402                uses vpn-bindings;\r
403                leaf vlan-tag-id {\r
404                   type uint32;\r
405                }\r
406                leaf network-status {\r
407                   description "assigned, unassigned";\r
408                   type string;\r
409                }\r
410                container customer-bonding-requests {\r
411                   list customer-bonding-request {\r
412                      key "configuration-id";\r
413                      leaf configuration-id {\r
414                         description "e.g. vlan network receptor configuration id";\r
415                         type string;\r
416                      }\r
417                   }\r
418                }\r
419             }\r
420          }\r
421       }\r
422    }\r
423    grouping network-level-oper-status {\r
424       container network-level-oper-status {\r
425          uses oper-status-data;\r
426       }\r
427    }\r
428    grouping vnf-operation-information {\r
429       uses sdnc-request-header;\r
430       uses request-information;\r
431       uses service-information;\r
432       uses vnf-information;\r
433       uses vnf-request-input;\r
434       uses license-information;\r
435    }\r
436    grouping vnf-information {\r
437       container vnf-information {\r
438          leaf vnf-id {\r
439             type string;\r
440          }\r
441          leaf vnf-type {\r
442             type string;\r
443          }\r
444          leaf vnf-name {\r
445             type string;\r
446          }\r
447          uses onap-model-information;\r
448       }\r
449    }\r
450    grouping vnf-request-input {\r
451       container vnf-request-input {\r
452          leaf request-version {\r
453             type string;\r
454          }\r
455          leaf vnf-name {\r
456             type string;\r
457          }\r
458          uses region-identifier;\r
459          container vnf-networks {\r
460             list vnf-network {\r
461                key "network-role";\r
462                uses vnf-network-data;\r
463             }\r
464          }\r
465          list vnf-network-instance-group-ids {\r
466             key "vnf-network-instance-group-id";\r
467             leaf vnf-network-instance-group-id {\r
468                description "List of vnf network-instance-group";\r
469                type string;\r
470             }\r
471          }\r
472          container vnf-input-parameters {\r
473             uses param;\r
474          }\r
475       }\r
476    }\r
477    grouping vnf-topology {\r
478       container vnf-topology {\r
479          uses vnf-topology-identifier-structure;\r
480          uses region-identifier;\r
481          uses onap-model-information;\r
482          uses vnf-resource-assignments;\r
483          container vnf-parameters-data {\r
484             uses param;\r
485          }\r
486          leaf sdnc-generated-cloud-resources {\r
487             description "Indicate if source is sdnc generated cloud param";\r
488             type boolean;\r
489          }\r
490       }\r
491    }\r
492    grouping vnf-topology-identifier-structure {\r
493       container vnf-topology-identifier-structure {\r
494          leaf vnf-id {\r
495             type string;\r
496          }\r
497          leaf vnf-type {\r
498             description "In preload tree, this label is used for the vf-module-type";\r
499             type string;\r
500          }\r
501          leaf nf-type {\r
502             type string;\r
503          }\r
504          leaf nf-role {\r
505             type string;\r
506          }\r
507          leaf nf-function {\r
508             type string;\r
509          }\r
510          leaf nf-code {\r
511             description "used in vnf naming";\r
512             type string;\r
513          }\r
514          leaf vnf-name {\r
515             description "optionally comes from vnf-request-input container or is assigned by sdn-c";\r
516             type string;\r
517          }\r
518       }\r
519    }\r
520    grouping vnf-resource-assignments {\r
521       container vnf-resource-assignments {\r
522          leaf vnf-status {\r
523             description "Orchestration status from AAI - to be set by SDNC";\r
524             type string;\r
525          }\r
526          container availability-zones {\r
527             leaf-list availability-zone {\r
528                description "Openstack availability zone name or UUID";\r
529                type string;\r
530                ordered-by user;\r
531             }\r
532             leaf max-count {\r
533                description "From the TOSCA data. Indicates the largest availability zone count needed by any vf-module in the VNF.";\r
534                type uint8;\r
535             }\r
536          }\r
537          container vnf-networks {\r
538             list vnf-network {\r
539                key "network-role";\r
540                uses vnf-network-data;\r
541             }\r
542          }\r
543       }\r
544    }\r
545    grouping vnf-network-data {\r
546       leaf network-role {\r
547          description "A Network Role to which a VNF must connect";\r
548          type string;\r
549       }\r
550       leaf network-name {\r
551          description "Unique Neutron UUID of an instance of the network role ";\r
552          type string;\r
553       }\r
554       leaf neutron-id {\r
555          description "Unique Neutron UUID of an instance of the network role ";\r
556          type string;\r
557       }\r
558       leaf network-id {\r
559          description "Unique Neutron UUID of an instance of the network role ";\r
560          type string;\r
561       }\r
562       leaf contrail-network-fqdn {\r
563          description "contrail network policy object";\r
564          type string;\r
565       }\r
566       container subnets-data {\r
567          list subnet-data {\r
568             key "sdnc-subnet-id";\r
569             leaf sdnc-subnet-id {\r
570                description "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API";\r
571                type string;\r
572             }\r
573             leaf subnet-role {\r
574                description "Subnet Role for the subnet";\r
575                type string;\r
576             }\r
577             leaf subnet-name {\r
578                description "Populated for preload only";\r
579                type string;\r
580             }\r
581             leaf ip-version {\r
582                description "Should be ipv4 or ipv6";\r
583                type string;\r
584             }\r
585             leaf subnet-id {\r
586                description "subnet UUID to be passed into the HEAT template";\r
587                type string;\r
588             }\r
589             leaf dhcp-enabled {\r
590                description "Indicator to use this subnet for  DHCP ";\r
591                type enumeration {\r
592                   enum "Y";\r
593                   enum "N";\r
594                }\r
595             }\r
596             leaf network-start-address {\r
597                description "start-address of the subnet";\r
598                type inet:ip-address;\r
599             }\r
600             leaf gateway-address {\r
601                description "subnet gateway address";\r
602                type inet:ip-address;\r
603             }\r
604             leaf cidr-mask {\r
605                description "cidr mask";\r
606                type string;\r
607             }\r
608          }\r
609       }\r
610       leaf is-trunked {\r
611           type boolean;\r
612        }\r
613        leaf segmentation-id {\r
614           type string;\r
615        }\r
616        container related-networks {\r
617           uses related-network;\r
618        }\r
619    }\r
620    grouping vnf-level-oper-status {\r
621       container vnf-level-oper-status {\r
622          uses oper-status-data;\r
623       }\r
624    }\r
625    grouping vf-module-operation-information {\r
626       uses sdnc-request-header;\r
627       uses request-information;\r
628       uses service-information;\r
629       uses vnf-information;\r
630       uses vf-module-information;\r
631       uses vf-module-request-input;\r
632    }\r
633    grouping vf-module-information {\r
634       container vf-module-information {\r
635          leaf vf-module-id {\r
636             type string;\r
637          }\r
638          leaf vf-module-type {\r
639             type string;\r
640          }\r
641          leaf from-preload {\r
642             description "Indicates if source is preload data";\r
643             type boolean;\r
644          }\r
645          uses onap-model-information;\r
646       }\r
647    }\r
648    grouping vf-module-request-input {\r
649       container vf-module-request-input {\r
650          leaf request-version {\r
651             description "keep this?";\r
652             type string;\r
653          }\r
654          leaf vf-module-name {\r
655             type string;\r
656          }\r
657          uses region-identifier;\r
658          container vf-module-input-parameters {\r
659             uses param;\r
660          }\r
661       }\r
662    }\r
663    grouping vf-module-topology {\r
664       container vf-module-topology {\r
665          uses vf-module-topology-identifier;\r
666          uses region-identifier;\r
667          uses onap-model-information;\r
668          uses vf-module-assignments;\r
669          container vf-module-parameters {\r
670             uses param;\r
671          }\r
672          leaf sdnc-generated-cloud-resources {\r
673             description "Indicate if source is sdnc-generated-cloud-resources.When true, the parameters are literal HEAT template parameter names;When false, the parameters need to be converted to HEAT format"; \r
674             type boolean;\r
675          }\r
676       }\r
677    }\r
678    grouping vf-module-topology-identifier {\r
679       container vf-module-topology-identifier {\r
680          leaf vf-module-id {\r
681             description "vf-module id";\r
682             type string;\r
683          }\r
684          leaf vf-module-name {\r
685             description "vf-module-name";\r
686             type string;\r
687          }\r
688          leaf vf-module-type {\r
689             type string;\r
690          }\r
691       }\r
692    }\r
693    grouping vf-module-assignments {\r
694       container vf-module-assignments {\r
695          leaf vf-module-status {\r
696             description "Orchestration status from AAI - to be set by SDNC";\r
697             type string;\r
698          }\r
699          container vms {\r
700             list vm {\r
701                key "vm-type";\r
702                uses vm-topology-data;\r
703             }\r
704          }\r
705          uses vlan-vnfc-instance-groups;\r
706       }\r
707    }\r
708    grouping vm-topology-data {\r
709       leaf vm-type {\r
710          type string;\r
711          mandatory true;\r
712       }\r
713       uses onap-model-information;\r
714       leaf nfc-naming-code {\r
715          description "used in vm naming(draft 29: changed from nfc-code)";\r
716          type string;\r
717       }\r
718       leaf vm-type-tag {\r
719          description "from tosca data on vfc";\r
720          type string;\r
721       }\r
722       leaf vm-count {\r
723          type uint8;\r
724       }\r
725       container vm-names {\r
726          leaf-list vm-name {\r
727             type string;\r
728             ordered-by user;\r
729          }\r
730          list vnfc-names {\r
731             key "vnfc-name";\r
732             leaf vnfc-name {\r
733                type string;\r
734             }\r
735             container vnfc-networks {\r
736                uses vnfc-network-data;\r
737             }\r
738          }\r
739       }\r
740       container vm-networks {\r
741          list vm-network {\r
742             key "network-role";\r
743             uses vm-network-data;\r
744          }\r
745       }\r
746    }\r
747    grouping vnfc-network-data {\r
748       list vnfc-network-data {\r
749          key "vnfc-network-role";\r
750          leaf vnfc-network-role {\r
751             type string;\r
752             mandatory true;\r
753          }\r
754          leaf vnfc-type {\r
755             type string;\r
756          }\r
757          uses connection-point;\r
758          container vnfc-ports {\r
759             list vnfc-port {\r
760                key "vnfc-port-id";\r
761                leaf vnfc-port-id {\r
762                   description "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y";\r
763                   type string;\r
764                   mandatory true;\r
765                }\r
766                leaf common-sub-interface-role {\r
767                   description "If sub-interfaces have common interface role (network role)";\r
768                   type string;\r
769                }\r
770                container vnic-sub-interfaces {\r
771                   uses sub-interface-network-data;\r
772                }\r
773             }\r
774          }\r
775          list vnfc-subnet {\r
776             key "vnfc-subnet-role";\r
777             leaf vnfc-subnet-role {\r
778                description "Default value if subnet role is not defined.";\r
779                type string;\r
780                mandatory true;\r
781             }\r
782             list vnfc-ip-assignments {\r
783                key "vnfc-address-family";\r
784                leaf vnfc-address-family {\r
785                   description "indicates if this is IpV4 or IpV6";\r
786                   type enumeration {\r
787                      enum "ipv4";\r
788                      enum "ipv6";\r
789                   }\r
790                }\r
791                leaf vnfc-subnet-dhcp {\r
792                   description "Indicator to use DHCP for IP assignment. Unless dhcp=N, we wouldnt have any IPs here, since they would not be SDNC assigned ";\r
793                   type enumeration {\r
794                      enum "Y";\r
795                      enum "N";\r
796                   }\r
797                }\r
798                leaf vnfc-subnet-ip-count {\r
799                   description "The number of IP addresses to be assigned per vnfc for this subnet role";\r
800                   type uint8;\r
801                }\r
802                list vnfc-subnet-ip {\r
803                   key "vnfc-ip-address";\r
804                   leaf vnfc-ip-address {\r
805                      description "Either IpV4 IP or IpV6 IP addresses should be present";\r
806                      type inet:ip-address;\r
807                   }\r
808                   leaf vnfc-client-key {\r
809                      type string;\r
810                   }\r
811                   leaf ip-type {\r
812                      description "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. ";\r
813                      type enumeration {\r
814                         enum "FIXED";\r
815                         enum "VIP";\r
816                      }\r
817                   }\r
818                }\r
819             }\r
820          }\r
821       }\r
822    }\r
823    grouping vm-network-data {\r
824       leaf network-role {\r
825          description "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF";\r
826          type string;\r
827          mandatory true;\r
828       }\r
829       leaf network-role-tag {\r
830          type string;\r
831       }\r
832       container network-information-items {\r
833          list network-information-item {\r
834             key "ip-version";\r
835             leaf ip-version {\r
836                description "Use ipv4 or ipv6";\r
837                type string;\r
838             }\r
839             leaf use-dhcp {\r
840                description "Indicator to use DHCP on this network for this VM";\r
841                type enumeration {\r
842                   enum "Y";\r
843                   enum "N";\r
844                }\r
845             }\r
846             leaf ip-count {\r
847                description "The number of ip addresses to be assigned per vm for this network role";\r
848                type uint8;\r
849             }\r
850             container network-ips {\r
851                leaf-list network-ip {\r
852                   description "List of assigned ip addresses of type ip-version on a network";\r
853                   type string;\r
854                   ordered-by user;\r
855                }\r
856             }\r
857          }\r
858       }\r
859       container mac-addresses {\r
860          leaf-list mac-address {\r
861             description "List of network assignments for this vm-type";\r
862             type string;\r
863             ordered-by user;\r
864          }\r
865       }\r
866       container floating-ips {\r
867          leaf-list floating-ip-v4 {\r
868             description "Floating ipv4 for VMs of a given type on this network";\r
869             type inet:ip-address;\r
870             ordered-by user;\r
871          }\r
872          leaf-list floating-ip-v6 {\r
873             description "Floating ipv6 for VMs of a given type on this network";\r
874             type inet:ipv6-address;\r
875             ordered-by user;\r
876          }\r
877       }\r
878       container interface-route-prefixes {\r
879          leaf-list interface-route-prefix {\r
880             description "ordered-by: user";\r
881             type string;\r
882             ordered-by user;\r
883          }\r
884       }\r
885       container sriov-parameters {\r
886          container heat-vlan-filters {\r
887             leaf-list heat-vlan-filter {\r
888                type string;\r
889                ordered-by user;\r
890             }\r
891          }\r
892          container application-tags {\r
893             container c-tags {\r
894                leaf-list c-tag {\r
895                   type string;\r
896                   ordered-by user;\r
897                }\r
898             }\r
899             container s-tags {\r
900                leaf-list s-tag {\r
901                   type string;\r
902                   ordered-by user;\r
903                }\r
904             }\r
905          }\r
906       }\r
907       leaf is-trunked {\r
908          type boolean;\r
909       }\r
910       leaf segmentation-id {\r
911          type string;\r
912       }\r
913       container related-networks {\r
914          uses related-network;\r
915       }\r
916    }\r
917    grouping vf-module-level-oper-status {\r
918       container vf-module-level-oper-status {\r
919          uses oper-status-data;\r
920       }\r
921    }\r
922    grouping allotted-resource-info {\r
923       leaf allotted-resource-id {\r
924          type string;\r
925       }\r
926       leaf allotted-resource-type {\r
927          description "Not an enum, but expected values are contrail-route and security-zone.";\r
928          type string;\r
929       }\r
930       leaf allotted-resource-pointer {\r
931          description "Pointer to the allotted-resources topology";\r
932          type string;\r
933       }\r
934    }\r
935    grouping forwarding-path-operation-information {\r
936       uses sdnc-request-header;\r
937       uses request-information;\r
938       uses service-information;\r
939       uses forwarding-path-request-input;\r
940    }\r
941    grouping forwarding-path-request-input {\r
942       container forwarding-path-request-input {\r
943          list forwarding-paths {\r
944             key "forwarding-path-name";\r
945             leaf forwarding-path-name {\r
946                description "Forwarding-path-name from tosca-model. ";\r
947                type string;\r
948                mandatory true;\r
949             }\r
950             uses onap-model-information;\r
951          }\r
952       }\r
953    }\r
954    grouping forwarding-path-information {\r
955       leaf forwarding-path-name {\r
956          description "Fowarding-path name from TOSCA model, or name generated by SDNC";\r
957          type string;\r
958       }\r
959       leaf forwarding-path-type {\r
960          description "Based on MySQL Forwarding_Path tables path_type value from related TOSCA model";\r
961          type enumeration {\r
962             enum "VNF";\r
963             enum "Service";\r
964          }\r
965       }\r
966       uses onap-model-information;\r
967       container service-paths {\r
968          list service-path {\r
969             key "service-path-instance-id";\r
970             uses service-path-information;\r
971          }\r
972       }\r
973    }\r
974    grouping service-path-information {\r
975       leaf service-path-instance-id {\r
976          description "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition";\r
977          type string;\r
978       }\r
979       leaf service-path-instance-name {\r
980          description "A unique name generated by SDNC ( forwarding-path-name + service-path-instance-id )";\r
981          type string;\r
982       }\r
983       leaf version {\r
984          description "Only one version of the service-path-instance data will be available in MD-SAL.  version will be updated when the service-path-instance is reevaluated ";\r
985          type string;\r
986       }\r
987       list service {\r
988          key "service-instance-id";\r
989          leaf service-instance-id {\r
990             description "service-instance-id of each service-instance in the service-path-instance";\r
991             type string;\r
992          }\r
993          leaf service-path-sequence-id {\r
994             description "e.g. S1S2S3S5seq id=1  S1-S2seq id=2  S2S3seq id=3  S3S5Incremental integer value";\r
995             type uint32;\r
996          }\r
997          container vnfs {\r
998             list vnf {\r
999                key "vnf-instance-id";\r
1000                uses vnf-path-information;\r
1001             }\r
1002          }\r
1003       }\r
1004    }\r
1005    grouping vnf-path-information {\r
1006       leaf vnf-instance-id {\r
1007          description "VNF instance ID in the path";\r
1008          type string;\r
1009       }\r
1010       leaf vnf-path-sequence-id {\r
1011          description "Sequence ID at the VNF instance levele.g.  e.g. V1V2V3V5V6seq id=1  V1-V2seq id=2  V2V3seq id=3  V3V5seq id=4  V5V6incremental integer value.";\r
1012          type uint32;\r
1013       }\r
1014       leaf left-network-name {\r
1015          description "Every VNF instance in the path is connected to one or two VNFs.";\r
1016          type string;\r
1017       }\r
1018       leaf left-network-role {\r
1019          type string;\r
1020       }\r
1021       leaf right-network-name {\r
1022          type string;\r
1023       }\r
1024       leaf right-network-role {\r
1025          type string;\r
1026       }\r
1027       container vf-module-instance {\r
1028          leaf vf-module-id {\r
1029             type string;\r
1030          }\r
1031          leaf vf-module-name {\r
1032             type string;\r
1033          }\r
1034       }\r
1035    }\r
1036    grouping forwarding-path-level-oper-status { \r
1037       container forwarding-path-level-oper-status { \r
1038          uses oper-status-data; \r
1039       } \r
1040    }\r
1041    grouping configuration-info {\r
1042       leaf configuration-id {\r
1043          type string;\r
1044       }\r
1045       leaf configuration-type {\r
1046          description "Not an enum, but expected values are port-mirror-configuration, , vlan-network-receptor";\r
1047          type string;\r
1048       }\r
1049       leaf configuration-sub-type {\r
1050          description "Not an enum, but expected values are vprobe and pprobe";\r
1051          type string;\r
1052       }\r
1053       leaf configuration-topology-link {\r
1054          description "Pointer to the configurations topology";\r
1055          type string;\r
1056       }\r
1057    }\r
1058    grouping vnfc-instance-group {\r
1059       list vnfc-instance-group {\r
1060          key "instance-group-role nfc-naming-code configuration-id";\r
1061          leaf instance-group-role {\r
1062             description "i.e.TSBC_VNFC_group";\r
1063             type string;\r
1064             mandatory true;\r
1065          }\r
1066          leaf nfc-naming-code {\r
1067             description "Set to nfc-naming-code from A&AI";\r
1068             type string;\r
1069             mandatory true;\r
1070          }\r
1071          leaf configuration-id {\r
1072             type string;\r
1073             mandatory true;\r
1074          }\r
1075          leaf group-type {\r
1076             description " port-mirror-source or  port-mirror-dest";\r
1077             type string;\r
1078          }\r
1079          uses vnfc-objects;\r
1080       }\r
1081    }\r
1082    grouping vnfc-objects {\r
1083       container vnfc-objects {\r
1084          list vnfc-object {\r
1085             key "vnfc-key";\r
1086             leaf vnfc-key {\r
1087                type string;\r
1088             }\r
1089             leaf vnfc-name {\r
1090                description "Vnfc name as key in A&AI";\r
1091                type string;\r
1092             }\r
1093             leaf vm-type {\r
1094                type string;\r
1095             }\r
1096             leaf vnf-id {\r
1097                type string;\r
1098             }\r
1099             leaf vserver-name {\r
1100                type string;\r
1101             }\r
1102             leaf vserver-id {\r
1103                type string;\r
1104             }\r
1105             container vnics {\r
1106                list vnic {\r
1107                   key "vnic-port-name";\r
1108                   leaf vnic-port-name {\r
1109                      type string;\r
1110                   }\r
1111                   leaf vnic-port-id {\r
1112                      type string;\r
1113                   }\r
1114                   container capacity {\r
1115                      leaf vnic-capacity {\r
1116                         type uint32;\r
1117                      }\r
1118                      leaf used-capacity {\r
1119                         description "Updated for destination port when source port is mapped/unmapped.";\r
1120                         type uint32;\r
1121                      }\r
1122                   }\r
1123                   container vnic-ip-addresses {\r
1124                      uses ip-addresses;\r
1125                   }\r
1126                }\r
1127             }\r
1128          }\r
1129       }\r
1130    }\r
1131    grouping vnfcs {\r
1132       container vnfcs {\r
1133          list vnfc {\r
1134             key "vnfc-name";\r
1135             leaf vnfc-name {\r
1136                description "Vnfc name as key in A&AI";\r
1137                type string;\r
1138             }\r
1139             leaf vserver-name {\r
1140                type string;\r
1141             }\r
1142             leaf vserver-id {\r
1143                type string;\r
1144             }\r
1145             uses vnics;\r
1146          }\r
1147       }\r
1148    }\r
1149    grouping vnics {\r
1150       container vnics {\r
1151          list vnic {\r
1152             key "vnic-port-name";\r
1153             leaf vnic-port-name {\r
1154                type string;\r
1155             }\r
1156             leaf vnic-port-id {\r
1157                type string;\r
1158             }\r
1159             uses sub-interfaces;\r
1160          }\r
1161       }\r
1162    }\r
1163    grouping sub-interfaces {\r
1164       container sub-interfaces {\r
1165          list sub-interface {\r
1166             key "sub-interface-port-name";\r
1167             leaf sub-interface-port-name {\r
1168                type string;\r
1169             }\r
1170             leaf sub-interface-port-id {\r
1171                type string;\r
1172             }\r
1173             container sub-interface-ip-addresses {\r
1174                uses ip-addresses;\r
1175             }\r
1176             uses vlan-tags;\r
1177             container sub-interface-network {\r
1178                leaf network-name {\r
1179                   type string;\r
1180                }\r
1181                leaf network-id {\r
1182                   type string;\r
1183                }\r
1184             }\r
1185             leaf sub-interface-status {\r
1186                description "NULL, unassigned, assigned";\r
1187                type string;\r
1188             }\r
1189          }\r
1190       }\r
1191    }\r
1192    grouping vlan-tags {\r
1193       container vlan-tags {\r
1194          leaf vlan-interface {\r
1195             description "A&AI Key";\r
1196             type string;\r
1197          }\r
1198          leaf upper-tag-id {\r
1199             type uint32;\r
1200          }\r
1201          leaf lower-tag-id {\r
1202             type uint32;\r
1203          }\r
1204          leaf is-private {\r
1205             type boolean;\r
1206          }\r
1207       }\r
1208    }\r
1209    grouping vlan-vnfc-instance-groups {\r
1210       container vlan-vnfc-instance-groups {\r
1211          list vlan-vnfc-instance-group {\r
1212             key "instance-group-id";\r
1213             leaf instance-group-id {\r
1214                description "A&AI ID";\r
1215                type string;\r
1216                mandatory true;\r
1217             }\r
1218             leaf instance-group-function {\r
1219                type string;\r
1220             }\r
1221             leaf vnf-id {\r
1222                type string;\r
1223             }\r
1224             container vnfcs {\r
1225                list vnfc {\r
1226                   key "vnfc-name";\r
1227                   leaf vnfc-name {\r
1228                      type string;\r
1229                   }\r
1230                   uses vnic-groups;\r
1231                }\r
1232             }\r
1233          }\r
1234       }\r
1235    }\r
1236    grouping vnic-groups {\r
1237       container vnic-groups {\r
1238          list vnic-group {\r
1239             key "vnic-interface-role";\r
1240             leaf vnic-interface-role {\r
1241                description "Same as network-role of network where vnic is connected";\r
1242                type string;\r
1243                mandatory true;\r
1244             }\r
1245             leaf network-instance-group-function {\r
1246                description "network-instance-Group-function for network collection where vnics with vnic-interface-role will connect";\r
1247                type string;\r
1248             } \r
1249             leaf vlan-assignment-policy-name {\r
1250                description "Policy name in ASDC model & policy definition in Policy Engine";\r
1251                type string;\r
1252             }\r
1253             leaf vlan-tag-index-next {\r
1254                description "Next tag to be assigned";\r
1255                type uint32;\r
1256             }\r
1257             container vlan-common-ip-addresses {\r
1258                uses ip-addresses;\r
1259             }\r
1260             container vlan-vnics {\r
1261                list vlan-vnic {\r
1262                   key "vnic-port-id";\r
1263                   leaf vnic-port-id {\r
1264                      type string;\r
1265                      mandatory true;\r
1266                   }\r
1267                   container vnic-sub-interfaces {\r
1268                      uses sub-interface-network-data;\r
1269                   }\r
1270                }\r
1271             }\r
1272          }\r
1273       }\r
1274    }\r
1275    grouping vnf-network-collection {\r
1276       list vnf-network-collection {\r
1277          key "network-instance-group-function";\r
1278          leaf network-instance-group-function {\r
1279             description "Network Instance-Group function in A&AI";\r
1280             type string;\r
1281             mandatory true;\r
1282          }\r
1283          leaf network-instance-group-id {\r
1284             description "Network Instance-Group id in A&AI";\r
1285             type string;\r
1286          }\r
1287          leaf network-collection-service-instance-id {\r
1288             description "Service-instance-id of service that created the network collection";\r
1289             type string;\r
1290          }\r
1291          leaf network-collection-customization-uuid {\r
1292             description "network-collection-customization-uuid stored in Network IsntanceGroup.customization-uuid in A&AI";\r
1293             type string;\r
1294          }\r
1295          container vnf-floating-ip {\r
1296             uses ip-addresses;\r
1297          }\r
1298       }\r
1299    }\r
1300    grouping vnf-sub-interface-group {\r
1301       list vnf-sub-interface-group {\r
1302          key "vnfc-instance-group-function network-instance-group-function parent-port-role";\r
1303          leaf vnfc-instance-group-function {\r
1304             type string;\r
1305             mandatory true;\r
1306          }\r
1307          leaf network-instance-group-function {\r
1308             type string;\r
1309             mandatory true;\r
1310          }\r
1311          leaf parent-port-role {\r
1312             type string;\r
1313             mandatory true;\r
1314          }\r
1315          uses vnfcs;\r
1316          container customer-bonding-requests {\r
1317             list customer-bonding-request {\r
1318                key "configuration-id";\r
1319                leaf configuration-id {\r
1320                   description "e.g. vlan network receptor configuration id";\r
1321                   type string;\r
1322                }\r
1323             }\r
1324          }\r
1325       }\r
1326    }\r
1327    grouping sub-interface-network-data {\r
1328       list sub-interface-network-data {\r
1329          key "network-id";\r
1330          leaf network-id {\r
1331             description "Subinterface network id (UUID in A&AI)";\r
1332             type string;\r
1333             mandatory true;\r
1334          }\r
1335          leaf network-name {\r
1336             description "Subinterface network name";\r
1337             type uint32;\r
1338          }\r
1339          leaf vlan-tag-id {\r
1340             description "Vlan tag assigned to subinterface port";\r
1341             type uint32;\r
1342          }\r
1343          leaf network-role {\r
1344             description "e.g. untrusted ";\r
1345             type string;\r
1346          }\r
1347          leaf network-role-tag {\r
1348             description "Assuming HEAT template network role tag parameter - not used";\r
1349             type string;\r
1350          }\r
1351          container network-information-items {\r
1352             list network-information-item {\r
1353                key "ip-version";\r
1354                leaf ip-version {\r
1355                   description "Use ipv4 or ipv6";\r
1356                   type string;\r
1357                }\r
1358                leaf use-dhcp {\r
1359                   description "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging";\r
1360                   type enumeration {\r
1361                      enum "Y";\r
1362                      enum "N";\r
1363                   }\r
1364                }\r
1365                leaf ip-count {\r
1366                   description "The number of ip addresses to be assigned per vm for this network role";\r
1367                   type uint8;\r
1368                }\r
1369                container network-ips {\r
1370                   leaf-list network-ip {\r
1371                      description "List of assigned ip addresses of type ip-version on a network.";\r
1372                      type inet:ip-address;\r
1373                      ordered-by user;\r
1374                   }\r
1375                }\r
1376             }\r
1377          }\r
1378          container floating-ips {\r
1379             leaf-list floating-ip-v4 {\r
1380                description "Floating ipv4 for VMs of a given type on this network";\r
1381                type inet:ip-address;\r
1382                ordered-by user;\r
1383             }\r
1384             leaf-list floating-ip-v6 {\r
1385                description "Floating ipv6 for VMs of a given type on this network";\r
1386                type inet:ipv6-address;\r
1387                ordered-by user;\r
1388             }\r
1389          }\r
1390       }\r
1391    }\r
1392    grouping vnf-cloud-param {\r
1393       leaf service-instance-id {\r
1394          type string;\r
1395       }\r
1396       leaf service-instance-name {\r
1397          type string;\r
1398       }\r
1399       list vnf {\r
1400          key "vnf-id";\r
1401          leaf vnf-id {\r
1402             type string;\r
1403          }\r
1404          leaf vnf-name {\r
1405             type string;\r
1406          }\r
1407          uses param;\r
1408          list vf-module {\r
1409             key "vf-module-id";\r
1410             leaf vf-module-id {\r
1411                type string;\r
1412             }\r
1413             uses param;\r
1414          }\r
1415       }\r
1416    }\r
1417    grouping vnf-get-resource-request-input-data {\r
1418       list vnf {\r
1419          key "vnf-id";\r
1420          leaf vnf-id {\r
1421             type string;\r
1422          }\r
1423          list vf-module {\r
1424             key "vf-module-id";\r
1425             leaf vf-module-id {\r
1426                type string;\r
1427             }\r
1428          }\r
1429       }\r
1430    }\r
1431    grouping license-information {\r
1432       container license-information {\r
1433          list entitlement-pool-list {\r
1434             key "entitlement-pool-uuid action";\r
1435             leaf entitlement-pool-uuid {\r
1436                type string;\r
1437                mandatory true;\r
1438             }\r
1439             leaf action {\r
1440                type string;\r
1441                mandatory true;\r
1442             }\r
1443             leaf entitlement-pool-invariant-uuid {\r
1444                type string;\r
1445             }\r
1446             leaf entitlement-uuid {\r
1447                description "assigned by ALTS";\r
1448                type string;\r
1449             }\r
1450          }\r
1451          list license-key-group-list {\r
1452             key "license-key-group-uuid action";\r
1453             leaf license-key-group-uuid {\r
1454                type string;\r
1455                mandatory true;\r
1456             }\r
1457             leaf action {\r
1458                type string;\r
1459                mandatory true;\r
1460             }\r
1461             leaf license-key-group-invariant-uuid {\r
1462                type string;\r
1463             }\r
1464             leaf license-key {\r
1465                description "assigned by ALTS";\r
1466                type string;\r
1467             }\r
1468             leaf license-uuid {\r
1469                description "assigned by ALTS";\r
1470                type string;\r
1471             }\r
1472          }\r
1473       }\r
1474    }\r
1475    grouping related-network {\r
1476       list related-network {\r
1477          key "network-id";\r
1478          leaf network-id {\r
1479             description "Key to l3-network object";\r
1480             type string;\r
1481          }\r
1482          leaf network-role {\r
1483             type string;\r
1484          }\r
1485          uses vlan-tags;\r
1486       }\r
1487    }\r
1488    grouping connection-point {\r
1489       container connection-point {\r
1490          leaf connection-point-id {\r
1491             description "Key to CP object in A&AI";\r
1492             type string;\r
1493          }\r
1494          leaf port-id {\r
1495             description "port-index when multiple CPs connect to same network. Default zero (0)";\r
1496             type string;\r
1497          }\r
1498          list vlan-data {\r
1499             key "vlan-uuid";\r
1500             leaf vlan-uuid {\r
1501                description "Key to vlan-tag uuid object in A&AI Generated by vlan mS";\r
1502                type string;\r
1503             }\r
1504             leaf vlan-tag-id {\r
1505                type string;\r
1506             }\r
1507             leaf vlan-tag-description {\r
1508                type string;\r
1509             }\r
1510             leaf vlan-role {\r
1511                description "Inner/Outer roles";\r
1512                type string;\r
1513             }\r
1514          }\r
1515       }\r
1516    }\r
1517    grouping aggregate-routes {\r
1518       list aggregate-routes {\r
1519          key "route-id";\r
1520          leaf route-id {\r
1521             description "Unique id";\r
1522             type string;\r
1523          }\r
1524          leaf start-address {\r
1525             type inet:ip-address;\r
1526          }\r
1527          leaf cidr-mask {\r
1528             type string;\r
1529          }\r
1530          leaf ip-version {\r
1531             description "Use values 4 or 6.";\r
1532             type string;\r
1533          }\r
1534       }\r
1535    }\r
1536    grouping pnf-information {\r
1537       container pnf-information {\r
1538          leaf pnf-name {\r
1539             description "Key for A&AI query";\r
1540             type string;\r
1541          }\r
1542          leaf pnf-type {\r
1543             type string;\r
1544          }\r
1545          uses onap-model-information;\r
1546       }\r
1547    }\r
1548    grouping contrail-route-operation-information {\r
1549       uses sdnc-request-header;\r
1550       uses request-information;\r
1551       uses service-information;\r
1552       uses allotted-resource-information;\r
1553       uses contrail-route-request-input;\r
1554    }\r
1555    grouping contrail-route-request-input {\r
1556       container contrail-route-request-input {\r
1557          container source-network {\r
1558             uses network-info;\r
1559          }\r
1560          container dest-network {\r
1561             uses network-info;\r
1562          }\r
1563          container contrail-applied-service-info {\r
1564             leaf service-instance-id {\r
1565                description "The service-instance-id of the service in which the resource(s) providing the applied-service are. For vIPR, this is the service-instance-id of the vIPR-ATM service in which the vIPR-ATM VNF Contrail service is the applied service. MSO will populate with the input data.";\r
1566                type string;\r
1567             }\r
1568             leaf contrail-fqdn {\r
1569                description "For future use by MSO on input; MSO not expected to populate in 1707. If MSO can identify the contrail-fqdn of the Contrail applied service for this contrail-route, then it would be specified here on input. Otherwise, SDN-C will look it up by the vIPR-ATM VNF in the service-instance-id of the contrail-applied-service-info grouing.";\r
1570                type string;\r
1571             }\r
1572          }\r
1573          container contrail-route-input-parameters {\r
1574             uses param;\r
1575          }\r
1576       }\r
1577    }\r
1578    grouping network-info {\r
1579       leaf network-id {\r
1580          type string;\r
1581       }\r
1582       leaf network-role {\r
1583          type string;\r
1584       }\r
1585    }\r
1586    grouping contrail-route-topology {\r
1587       container contrail-route-topology {\r
1588          uses allotted-resource-identifiers;\r
1589          uses onap-model-information;\r
1590          uses contrail-route-assignments;\r
1591          container contrail-route-parameters {\r
1592             uses param;\r
1593          }\r
1594       }\r
1595    }\r
1596    grouping contrail-route-assignments {\r
1597       container contrail-route-assignments {\r
1598          leaf fq-name {\r
1599             description "The Contrail fq-name of the network policy";\r
1600             type string;\r
1601          }\r
1602          leaf contrail-id {\r
1603             description "The ID assigned by Contrail to the network-policy (one for one with the fq-name)";\r
1604             type string;\r
1605          }\r
1606          container source-network {\r
1607             uses network-info;\r
1608          }\r
1609          container dest-network {\r
1610             uses network-info;\r
1611          }\r
1612          container contrail-applied-service {\r
1613             leaf service-instance-id {\r
1614                description "The service-instance-id of the vnf from which the contrail applied service is coming";\r
1615                type string;\r
1616             }\r
1617             leaf vnf-id {\r
1618                description "The vnf representing the contrail applied service";\r
1619                type string;\r
1620             }\r
1621             leaf contrail-fqdn {\r
1622                description "This is the fq-name of the Contrail service instance through which the route is passing.";\r
1623                type string;\r
1624             }\r
1625          }\r
1626          leaf vlan-tag {\r
1627             description "Contrail-assigned vlan-tag to the vipr vm interface for this route.";\r
1628             type string;\r
1629          }\r
1630       }\r
1631    }\r
1632    grouping security-zone-operation-information {\r
1633       uses sdnc-request-header;\r
1634       uses request-information;\r
1635       uses service-information;\r
1636       uses allotted-resource-information;\r
1637       uses security-zone-request-input;\r
1638    }\r
1639    grouping security-zone-request-input {\r
1640       container security-zone-request-input {\r
1641          leaf vlan-tag {\r
1642             type string;\r
1643          }\r
1644          leaf trusted-network-role {\r
1645             description "In the case of vIPR, this is the landing networks network-role; used in naming";\r
1646             type string;\r
1647          }\r
1648          leaf untrusted-network-role {\r
1649             description "In the case of vIPR, this is the tenant oam networks network-role; used in naming";\r
1650             type string;\r
1651          }\r
1652          container security-zone-input-parameters {\r
1653             uses param;\r
1654          }\r
1655       }\r
1656    }\r
1657    grouping security-zone-topology {\r
1658       container security-zone-topology {\r
1659          uses allotted-resource-identifiers;\r
1660          uses onap-model-information;\r
1661          uses security-zone-assignments;\r
1662          container security-zone-parameters {\r
1663             uses param;\r
1664          }\r
1665       }\r
1666    }\r
1667    grouping security-zone-assignments {\r
1668       container security-zone-assignments {\r
1669          leaf trusted-network-role {\r
1670             description "In the case of vIPR, this is the landing networks network-role; used in naming";\r
1671             type string;\r
1672          }\r
1673          leaf security-zone-name-trusted {\r
1674             type string;\r
1675          }\r
1676          leaf untrusted-network-role {\r
1677             description "In the case of vIPR, this is the tenant oam networks network-role; used in naming";\r
1678             type string;\r
1679          }\r
1680          leaf security-zone-name-untrusted {\r
1681             type string;\r
1682          }\r
1683          leaf security-zone-service-instance-id {\r
1684             description "Will be the same as the parent-service-instance-id";\r
1685             type string;\r
1686          }\r
1687          leaf security-zone-vnf-id {\r
1688             description "Selected by SDNC from the security-zone-service-instance-id";\r
1689             type string;\r
1690          }\r
1691          leaf vlan-tag {\r
1692             type string;\r
1693          }\r
1694       }\r
1695    }\r
1696    grouping port-mirror-topology-operation-information {\r
1697       uses sdnc-request-header;\r
1698       uses request-information;\r
1699       uses service-information;\r
1700       uses configuration-information;\r
1701       uses port-mirror-configuration-request-input;\r
1702    }\r
1703    grouping port-mirror-configuration-request-input {\r
1704       container port-mirror-configuration-request-input {\r
1705          container source-port {\r
1706             uses port-info;\r
1707             leaf source-port-id {\r
1708                description "needed for srv-action=disable/enable";\r
1709                type string;\r
1710             }\r
1711          }\r
1712          container dest-port {\r
1713             uses port-info;\r
1714          }\r
1715          uses region-identifier;\r
1716          container port-mirror-configuration-input-parameters {\r
1717             uses param;\r
1718          }\r
1719       }\r
1720    }\r
1721    grouping port-info {\r
1722       leaf service-instance-id {\r
1723          description "May not be need.";\r
1724          type string;\r
1725       }\r
1726       uses pnf-information;\r
1727       uses vnf-information;\r
1728    }\r
1729    grouping port-mirror-configuration-topology {\r
1730       container port-mirror-configuration-topology {\r
1731          uses configuration-identifiers;\r
1732          uses onap-model-information;\r
1733          uses port-mirror-configuration-assignments;\r
1734          container port-mirror-configuration-parameters {\r
1735             uses param;\r
1736          }\r
1737       }\r
1738    }\r
1739    grouping port-mirror-configuration-assignments {\r
1740       container port-mirror-configuration-assignments {\r
1741          container contrail-vmi-params {\r
1742             uses param;\r
1743          }\r
1744          leaf vnics-group-id {\r
1745             type string;\r
1746          }\r
1747          leaf owning-entity {\r
1748             type string;\r
1749          }\r
1750          leaf tenant-context {\r
1751             description "From tenant object in A&AI";\r
1752             type string;\r
1753          }\r
1754          leaf tenant {\r
1755             description "Tenant name from A&AI for source VNF";\r
1756             type string;\r
1757          }\r
1758          leaf tenant-id {\r
1759             description "tenant-id from A&AI for source VNF";\r
1760             type string;\r
1761          }\r
1762          leaf dest-tenant {\r
1763             description "Tenant name from A&AI for destination VNF";\r
1764             type string;\r
1765          }\r
1766          leaf dest-tenant-id {\r
1767             description "tenant-id from A&AI for destination VNF";\r
1768             type string;\r
1769          }\r
1770          leaf cloud-region-id {\r
1771             type string;\r
1772          }\r
1773          leaf cloud-owner {\r
1774             type string;\r
1775          }\r
1776          leaf dest-network-fqdn {\r
1777             type string;\r
1778          }\r
1779          leaf source-network-fqdn {\r
1780             type string;\r
1781          }\r
1782          leaf source-capacity {\r
1783             description "Source port pps (packets per second) rating from tosca model";\r
1784             type uint32;\r
1785          }\r
1786          leaf source-vnf-id {\r
1787             type string;\r
1788          }\r
1789          leaf dest-vnf-id {\r
1790             description "For vProbe";\r
1791             type string;\r
1792          }\r
1793          leaf dest-pnf-name {\r
1794             description "For pProbe";\r
1795             type string;\r
1796          }\r
1797          leaf dest-p-interface {\r
1798             description "For pProbe; from policy manager";\r
1799             type string;\r
1800          }\r
1801          leaf dest-pnf-port-policy-name {\r
1802             description "For pProbe; from tosca model";\r
1803             type string;\r
1804          }\r
1805          leaf probe-type {\r
1806             description "vprobe or pprobe; derived from configuration-information.configuration-sub-type";\r
1807             type string;\r
1808          }\r
1809          leaf route-allotted-resource-id {\r
1810             description "For vProbe";\r
1811             type string;\r
1812          }\r
1813          container source-vnfc-instance-group-id {\r
1814             leaf service-instance-id {\r
1815                type string;\r
1816             }\r
1817             leaf nfc-naming-code {\r
1818                type string;\r
1819             }\r
1820             leaf instance-group-role {\r
1821                type string;\r
1822             }\r
1823             leaf configuration-id {\r
1824                type string;\r
1825             }\r
1826          }\r
1827          container dest-vnfc-instance-group-id {\r
1828             leaf service-instance-id {\r
1829                type string;\r
1830             }\r
1831             leaf nfc-naming-code {\r
1832                type string;\r
1833             }\r
1834             leaf instance-group-role {\r
1835                type string;\r
1836             }\r
1837             leaf configuration-id {\r
1838                type string;\r
1839             }\r
1840          }\r
1841          container source-to-dest-maps {\r
1842             list source-to-dest-map {\r
1843                key "source-port-id";\r
1844                leaf source-port-id {\r
1845                   type string;\r
1846                   mandatory true;\r
1847                }\r
1848                leaf source-port-name {\r
1849                   type string;\r
1850                }\r
1851                leaf source-vserver-id {\r
1852                   type string;\r
1853                }\r
1854                leaf dest-vserver-id {\r
1855                   type string;\r
1856                }\r
1857                leaf dest-port-id {\r
1858                   type string;\r
1859                }\r
1860                leaf dest-port-name {\r
1861                   type string;\r
1862                }\r
1863                leaf link-name {\r
1864                   type string;\r
1865                }\r
1866                container dest-ip-addresses {\r
1867                   uses ip-addresses;\r
1868                }\r
1869             }\r
1870          }\r
1871       }\r
1872    }\r
1873    grouping gc-topology-operation-information {\r
1874       uses sdnc-request-header;\r
1875       uses request-information;\r
1876       uses service-information;\r
1877       uses configuration-information;\r
1878       uses gc-request-input;\r
1879    }\r
1880    grouping gc-request-input {\r
1881       container gc-request-input {\r
1882          leaf vnf-id {\r
1883             type string;\r
1884          }\r
1885          leaf vf-module-id {\r
1886             description "This is mandatory in case of rebuild";\r
1887             type string;\r
1888          }\r
1889          container input-parameters {\r
1890             uses param;\r
1891          }\r
1892          leaf rebuild {\r
1893             description "Value will indicate what to rebuild";\r
1894             type string;\r
1895          }\r
1896          list configuration-ids {\r
1897             key "configuration-id";\r
1898             leaf configuration-id {\r
1899                type string;\r
1900             }\r
1901          }\r
1902       }\r
1903    }\r
1904    grouping vnr-parameters {\r
1905       container vnr-parameters {\r
1906          leaf vnf-id {\r
1907             type string;\r
1908          }\r
1909          leaf vf-module-id {\r
1910             description "This is mandatory in case of rebuild";\r
1911             type string;\r
1912          }\r
1913          leaf vnf-service-instance-id {\r
1914             type string;\r
1915          }\r
1916          leaf network-collection-service-instance-id {\r
1917             description "service instance id that created network-collection";\r
1918             type string;\r
1919          }\r
1920          leaf network-instance-group-id {\r
1921             type string;\r
1922          }\r
1923          leaf network-id {\r
1924             type string;\r
1925          }\r
1926          leaf vnfc-instance-group-function {\r
1927             type string;\r
1928          }\r
1929          leaf network-instance-group-function {\r
1930             type string;\r
1931          }\r
1932          leaf parent-port-role {\r
1933             type string;\r
1934          }\r
1935          leaf upper-tag-id {\r
1936             type uint32;\r
1937          }\r
1938          leaf lower-tag-id {\r
1939             type uint32;\r
1940          }\r
1941       }\r
1942    }\r
1943    grouping tunnelxconn-operation-information {\r
1944        uses sdnc-request-header;\r
1945        uses request-information;\r
1946        uses service-information;\r
1947        uses allotted-resource-information;\r
1948        uses tunnelxconn-request-input;\r
1949    }\r
1950    grouping tunnelxconn-request-input {\r
1951 \r
1952        container tunnelxconn-request-input {\r
1953            leaf brg-wan-mac-address {\r
1954                type string;\r
1955            }\r
1956        }\r
1957    }\r
1958    grouping tunnelxconn-topology {\r
1959        container tunnelxconn-topology {\r
1960            uses allotted-resource-identifiers;\r
1961            uses onap-model-information;\r
1962            uses tunnelxconn-assignments;\r
1963            container tunnelxconn-parameters {\r
1964                uses param;\r
1965            }\r
1966        }\r
1967    }\r
1968    grouping tunnelxconn-assignments {\r
1969            container tunnelxconn-assignments {\r
1970                leaf vni {\r
1971                    description "The Network Controller will assign a VNI value from the associated vGMUX VNI pool";\r
1972                    type string;\r
1973                }\r
1974                leaf vgmux-bearer-ip {\r
1975                    description "The Network Controller will look up the vgmux bearer ip from the vgmux vf module";\r
1976                    type inet:ip-address;\r
1977                }\r
1978                leaf vgmux-lan-ip {\r
1979                    description "The Network Controller will look up the vgmux lan ip from the vgmux vg module";\r
1980                    type inet:ip-address;\r
1981                }\r
1982                leaf vg-ip {\r
1983                    description "The Network Controller will assign the VG IP address from local inventory";\r
1984                    type inet:ip-address;\r
1985                }\r
1986            }\r
1987    }\r
1988    grouping brg-operation-information {\r
1989        uses sdnc-request-header;\r
1990        uses request-information;\r
1991        uses service-information;\r
1992        uses allotted-resource-information;\r
1993        uses brg-request-input;\r
1994    }\r
1995    grouping brg-request-input {\r
1996        container brg-request-input {\r
1997            leaf vgmux-bearer-ip {\r
1998                type inet:ip-address;\r
1999            }\r
2000            leaf vni {\r
2001                type string;\r
2002            }\r
2003            leaf brg-wan-mac-address {\r
2004                type string;\r
2005            }\r
2006        }\r
2007    }\r
2008    grouping brg-topology {\r
2009        container brg-topology {\r
2010            uses allotted-resource-identifiers;\r
2011            uses onap-model-information;\r
2012            uses brg-assignments;\r
2013            container brg-parameters {\r
2014                uses param;\r
2015            }\r
2016        }\r
2017    }\r
2018    grouping brg-assignments {\r
2019            container brg-assignments {\r
2020                leaf vbrg-wan-ip {\r
2021                    type inet:ip-address;\r
2022                }\r
2023            }\r
2024    }\r
2025    grouping connection-attachment-operation-information {\r
2026       uses sdnc-request-header;\r
2027       uses request-information;\r
2028       uses service-information;\r
2029       uses allotted-resource-information;\r
2030       uses connection-attachment-request-input;\r
2031    }\r
2032 \r
2033    grouping connection-attachment-request-input {\r
2034       container connection-attachment-request-input {\r
2035          uses param;\r
2036       }\r
2037    }\r
2038 \r
2039    grouping connection-attachment-topology {\r
2040       container connection-attachment-topology {\r
2041          uses allotted-resource-identifiers;\r
2042          uses onap-model-information;\r
2043          uses connection-attachment-assignments;\r
2044          container connection-attachment-parameters {\r
2045             uses param;\r
2046          }\r
2047       }\r
2048    }\r
2049 \r
2050    grouping connection-attachment-assignments {\r
2051       container connection-attachment-assignments {\r
2052       }\r
2053    }\r
2054 \r
2055    grouping vnf-vnr-rebuild-data {\r
2056       container vnf-vnr-rebuild-data {\r
2057          leaf vnf-id {\r
2058             type string;\r
2059          }\r
2060          leaf vnf-service-instance-id {\r
2061             type string;\r
2062          }\r
2063          list vnrs-data {\r
2064             key "configuration-id";\r
2065             leaf configuration-id {\r
2066                type string;\r
2067             }\r
2068             leaf network-instance-group-id {\r
2069                type string;\r
2070             }\r
2071             leaf network-id {\r
2072                type string;\r
2073             }\r
2074             leaf vnfc-instance-group-function {\r
2075                type string;\r
2076             }\r
2077             leaf network-instance-group-function {\r
2078                type string;\r
2079             }\r
2080             leaf parent-port-role {\r
2081                type string;\r
2082             }\r
2083             leaf upper-tag-id {\r
2084                type uint32;\r
2085             }\r
2086             leaf lower-tag-id {\r
2087                type uint32;\r
2088             }\r
2089          }\r
2090       }\r
2091    }\r
2092    grouping allotted-resource-information {\r
2093       container allotted-resource-information {\r
2094          leaf allotted-resource-id {\r
2095             type string;\r
2096          }\r
2097          leaf allotted-resource-type {\r
2098             description "Not an enum, but expected values are contrail-route and security-zone.";\r
2099             type string;\r
2100          }\r
2101          leaf parent-service-instance-id {\r
2102             description "Service-instance-id of the parent service to which this allotted resource belongs.";\r
2103             type string;\r
2104          }\r
2105          uses onap-model-information;\r
2106       }\r
2107    }\r
2108    grouping allotted-resource-identifiers {\r
2109       container allotted-resource-identifiers {\r
2110          leaf allotted-resource-id {\r
2111             type string;\r
2112          }\r
2113          leaf allotted-resource-name {\r
2114             description "For a contrail-route, the network policy name.";\r
2115             type string;\r
2116          }\r
2117          leaf allotted-resource-type {\r
2118             description "(Added in draft 32)Expected to be contrail-route or security-zone.";\r
2119             type string;\r
2120          }\r
2121          leaf consuming-service-instance-id {\r
2122             description "The service-instance-id of the consuming service of this allotted resource";\r
2123             type string;\r
2124          }\r
2125          leaf parent-service-instance-id {\r
2126             description "Service-instance-id of the parent service to which this allotted resource belongs.";\r
2127             type string;\r
2128          }\r
2129       }\r
2130    }\r
2131    grouping allotted-resource-oper-status {\r
2132       container allotted-resource-oper-status {\r
2133          uses oper-status-data;\r
2134       }\r
2135    }\r
2136    grouping allotted-resource-status {\r
2137       container allotted-resource-status {\r
2138          leaf response-code {\r
2139             type string;\r
2140          }\r
2141          leaf response-message {\r
2142             type string;\r
2143          }\r
2144          leaf final-indicator {\r
2145             type string;\r
2146          }\r
2147          leaf request-status {\r
2148             type enumeration {\r
2149                enum "synccomplete";\r
2150                enum "asynccomplete";\r
2151                enum "notifycomplete";\r
2152             }\r
2153          }\r
2154          leaf action {\r
2155             description "value would one of possible request-actions; match the list in service-data oper-status";\r
2156             type string;\r
2157          }\r
2158          leaf rpc-name {\r
2159             type string;\r
2160          }\r
2161          leaf rpc-action {\r
2162             description "this is the svc-action from the incoming request";\r
2163             type enumeration {\r
2164                enum "assign";\r
2165                enum "activate";\r
2166                enum "create";\r
2167                enum "delete";\r
2168                enum "unassign";\r
2169                enum "deactivate";\r
2170             }\r
2171          }\r
2172          leaf response-timestamp {\r
2173             type string;\r
2174          }\r
2175       }\r
2176    }\r
2177    grouping configuration-information {\r
2178       container configuration-information {\r
2179          leaf configuration-id {\r
2180             type string;\r
2181          }\r
2182          leaf configuration-name {\r
2183             type string;\r
2184          }\r
2185          leaf configuration-type {\r
2186             description "Not an enum, but expected values are port-mirror-configuration, vlan-network-receptor";\r
2187             type string;\r
2188          }\r
2189          leaf configuration-sub-type {\r
2190             description "e.g. vprobe and pprobe when configuration-type=port-mirror-configuration";\r
2191             type string;\r
2192          }\r
2193          uses onap-model-information;\r
2194       }\r
2195    }\r
2196    grouping configuration-identifiers {\r
2197       container configuration-identifiers {\r
2198          leaf configuration-id {\r
2199             type string;\r
2200          }\r
2201          leaf configuration-name {\r
2202             type string;\r
2203          }\r
2204          leaf configuration-type {\r
2205             description "Not an enum, but expected values are port-mirror-configuration.";\r
2206             type string;\r
2207          }\r
2208          leaf configuration-sub-type {\r
2209             description " vprobe and pprobe";\r
2210             type string;\r
2211          }\r
2212          leaf parent-service-instance-id {\r
2213             description "Service-instance-id of the parent service to which this resource belongs.";\r
2214             type string;\r
2215          }\r
2216       }\r
2217    }\r
2218    grouping configuration-oper-status {\r
2219       container configuration-oper-status {\r
2220          uses oper-status-data;\r
2221       }\r
2222    }\r
2223    grouping configuration-status {\r
2224       container configuration-status {\r
2225          leaf response-code {\r
2226             type string;\r
2227          }\r
2228          leaf response-message {\r
2229             type string;\r
2230          }\r
2231          leaf final-indicator {\r
2232             type string;\r
2233          }\r
2234          leaf request-status {\r
2235             type enumeration {\r
2236                enum "synccomplete";\r
2237                enum "asynccomplete";\r
2238                enum "notifycomplete";\r
2239             }\r
2240          }\r
2241          leaf action {\r
2242             description "value would one of possible request-actions; match the list in service-data oper-status";\r
2243             type string;\r
2244          }\r
2245          leaf rpc-name {\r
2246             type string;\r
2247          }\r
2248          leaf rpc-action {\r
2249             description "this is the svc-action from the incoming request";\r
2250             type enumeration {\r
2251                enum "assign";\r
2252                enum "activate";\r
2253                enum "create";\r
2254                enum "disable";\r
2255                enum "enable";\r
2256                enum "delete";\r
2257                enum "unassign";\r
2258                enum "deactivate";\r
2259             }\r
2260          }\r
2261          leaf response-timestamp {\r
2262             type string;\r
2263          }\r
2264       }\r
2265    }\r
2266    grouping topology-response-common {\r
2267       leaf svc-request-id {\r
2268          description "the request id from the request message for which this is the responseKeep as M";\r
2269          type string;\r
2270       }\r
2271       leaf response-code {\r
2272          description "a success code or an defined error codeKeep as M";\r
2273          type string;\r
2274       }\r
2275       leaf response-message {\r
2276          description "message included for error code";\r
2277          type string;\r
2278       }\r
2279       leaf ack-final-indicator {\r
2280          description "Expected to be Y or N.";\r
2281          type string;\r
2282       }\r
2283    }\r
2284    grouping sdnc-request-header {\r
2285       container sdnc-request-header {\r
2286          leaf svc-request-id {\r
2287             description "Uniquely generated by calling system (e.g. MSO or SDN-GP)";\r
2288             type string;\r
2289          }\r
2290          leaf svc-action {\r
2291             description "This is the rpcAction";\r
2292             type enumeration {\r
2293                enum "reserve";\r
2294                enum "assign";\r
2295                enum "activate";\r
2296                enum "delete";\r
2297                enum "changeassign";\r
2298                enum "changedelete";\r
2299                enum "rollback";\r
2300                enum "deactivate";\r
2301                enum "unassign";\r
2302                enum "create";\r
2303                enum "disable";\r
2304                enum "enable";\r
2305                enum "update";\r
2306                enum "reoptimize";\r
2307                enum "rebuild";\r
2308             }\r
2309          }\r
2310          leaf svc-notification-url {\r
2311             description "Contains URL for asynchronous response";\r
2312             type string;\r
2313          }\r
2314       }\r
2315    }\r
2316    grouping request-information {\r
2317       container request-information {\r
2318          leaf request-id {\r
2319             description "Request ID generated upstream of MSO";\r
2320             type string;\r
2321          }\r
2322          leaf request-action {\r
2323             description "still need to work Disconnect";\r
2324             type enumeration {\r
2325                enum "CreateNetworkInstance";\r
2326                enum "ActivateNetworkInstance";\r
2327                enum "CreateServiceInstance";\r
2328                enum "DeleteServiceInstance";\r
2329                enum "DeleteNetworkInstance";\r
2330                enum "CreateVnfInstance";\r
2331                enum "ActivateVnfInstance";\r
2332                enum "DeleteVnfInstance";\r
2333                enum "CreateVfModuleInstance";\r
2334                enum "ActivateVfModuleInstance";\r
2335                enum "DeleteVfModuleInstance";\r
2336                enum "CreateContrailRouteInstance";\r
2337                enum "DeleteContrailRouteInstance";\r
2338                enum "CreateSecurityZoneInstance";\r
2339                enum "DeleteSecurityZoneInstance";\r
2340                enum "ActivateDCINetworkInstance";\r
2341                enum "DeActivateDCINetworkInstance";\r
2342                enum "CreateTunnelXConnInstance";\r
2343                enum "DeleteTunnelXConnInstance";\r
2344                enum "CreateBRGInstance";\r
2345                enum "DeleteBRGInstance";\r
2346                enum "CreateSOTNConnectivityInstance";\r
2347                enum "ActivateSOTNConnectivityInstance";\r
2348                enum "DeactivateSOTNConnectivityInstance";\r
2349                enum "DeleteSOTNConnectivityInstance";\r
2350                enum "CreateSOTNAttachmentInstance";\r
2351                enum "ActivateSOTNAttachmentInstance";\r
2352                enum "DeactivateSOTNAttachmentInstance";\r
2353                enum "DeleteSOTNAttachmentInstance";\r
2354                enum "CreateSiteInstance";\r
2355                enum "ActivateSiteInstance";\r
2356                enum "DeactivateSiteInstance";\r
2357                enum "DeleteSiteInstance";\r
2358                enum "CreatePortMirrorConfigurationInstance";\r
2359                enum "DeletePortMirrorConfigurationInstance";\r
2360                enum "ChangePortMirrorConfigurationInstance";\r
2361                enum "CreateGenericConfigurationInstance";\r
2362                enum "RebuildGenericConfigurationInstance";\r
2363                enum "DeleteGenericConfigurationInstance";\r
2364                enum "PreloadVfModuleRequest";\r
2365                enum "DeletePreloadVfModuleRequest";\r
2366                enum "PreloadNetworkRequest";\r
2367                enum "DeletePreloadNetworkRequest";\r
2368                enum "CreateForwardingPathInstance";\r
2369                enum "DeleteForwardingPathInstance";\r
2370                enum "UpdateForwardingPathInstance";\r
2371                enum "CreateSDWANConnectivityInstance";\r
2372                enum "ActivateSDWANConnectivityInstance";\r
2373                enum "DeactivateSDWANConnectivityInstance";\r
2374                enum "DeleteSDWANConnectivityInstance";\r
2375                enum "CreateSDWANDeviceInstance";\r
2376                enum "ActivateSDWANDeviceInstance";\r
2377                enum "DeactivateSDWANDeviceInstance";\r
2378                enum "DeleteSDWANDeviceInstance";\r
2379                enum "CreateSDWANPortInstance";\r
2380                enum "ActivateSDWANPortInstance";\r
2381                enum "DeactivateSDWANPortInstance";\r
2382                enum "DeleteSDWANPortInstance";\r
2383                enum "CreateSDWANAttachmentInstance";\r
2384                enum "ActivateSDWANAttachmentInstance";\r
2385                enum "DeactivateSDWANAttachmentInstance";\r
2386                enum "DeleteSDWANAttachmentInstance";\r
2387                enum "ReoptimizeSOTNInstance";\r
2388             }\r
2389          }\r
2390          leaf source {\r
2391             type string;\r
2392          }\r
2393          leaf notification-url {\r
2394             type string;\r
2395          }\r
2396          leaf order-number {\r
2397             type string;\r
2398          }\r
2399          leaf order-version {\r
2400             type string;\r
2401          }\r
2402       }\r
2403    }\r
2404    grouping service-information {\r
2405       container service-information {\r
2406          leaf service-id {\r
2407             description "This maps to the product-family-id in A&AI";\r
2408             type string;\r
2409          }\r
2410          leaf subscription-service-type {\r
2411             description "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example.";\r
2412             type string;\r
2413          }\r
2414          uses onap-model-information;\r
2415          leaf service-instance-id {\r
2416             type string;\r
2417          }\r
2418          leaf global-customer-id {\r
2419             description "need for put of data to AnAI (MSO provides)";\r
2420             type string;\r
2421          }\r
2422          leaf subscriber-name {\r
2423             description "Would not be expected for vIPR-ATM or mobility services.";\r
2424             type string;\r
2425          }\r
2426       }\r
2427    }\r
2428    grouping onap-model-information {\r
2429       container onap-model-information {\r
2430          leaf model-invariant-uuid {\r
2431             description "identifies the invariant uuid for this service or resource";\r
2432             type string;\r
2433          }\r
2434          leaf model-customization-uuid {\r
2435             description "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level";\r
2436             type string;\r
2437          }\r
2438          leaf model-uuid {\r
2439             description "identifies the uuid for this service or resource, which is version specific";\r
2440             type string;\r
2441          }\r
2442          leaf model-version {\r
2443             type string;\r
2444          }\r
2445          leaf model-name {\r
2446             type string;\r
2447          }\r
2448       }\r
2449    }\r
2450    grouping region-identifier {\r
2451       leaf tenant {\r
2452          type string;\r
2453       }\r
2454       leaf aic-cloud-region {\r
2455          description "The AIC cloud region which maps to contrail versions";\r
2456          type string;\r
2457       }\r
2458       leaf cloud-owner {\r
2459          description "The cloud owner provided by the caller";\r
2460          type string;\r
2461       }\r
2462       leaf aic-clli {\r
2463          description "Not expected to be used";\r
2464          type string;\r
2465       }\r
2466    }\r
2467    grouping param {\r
2468       list param {\r
2469          key "name";\r
2470          leaf name {\r
2471             type string;\r
2472          }\r
2473          leaf value {\r
2474             type string;\r
2475          }\r
2476          container resource-resolution-data {\r
2477             list resource-key {\r
2478                key "name";\r
2479                leaf name {\r
2480                   type string;\r
2481                }\r
2482                leaf value {\r
2483                   type string;\r
2484                }\r
2485             }\r
2486             leaf status {\r
2487                description "SUCCESS, FAILED, or PENDING - RA returned data as capability";\r
2488                type string;\r
2489             }\r
2490             leaf capability-name {\r
2491                description "Resource assignment resolution Capability name";\r
2492                type string;\r
2493             }\r
2494          }\r
2495       }\r
2496    }\r
2497    grouping ip-addresses {\r
2498       container ip-addresses {\r
2499          leaf ipv4-address {\r
2500             type inet:ip-address;\r
2501          }\r
2502          leaf ipv6-address {\r
2503             type inet:ip-address;\r
2504          }\r
2505          leaf vipv4-address {\r
2506             description "Virtual v4";\r
2507             type inet:ip-address;\r
2508          }\r
2509          leaf vipv6-address {\r
2510             description "Virtual v6";\r
2511             type inet:ip-address;\r
2512          }\r
2513       }\r
2514    }\r
2515    grouping instance-reference {\r
2516       leaf instance-id {\r
2517          type string;\r
2518       }\r
2519       leaf object-path {\r
2520          description "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/";\r
2521          type string;\r
2522       }\r
2523    }\r
2524    grouping oper-status-data {\r
2525       leaf order-status {\r
2526          description "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout";\r
2527          type enumeration {\r
2528             enum "Active";\r
2529             enum "PendingAssignment";\r
2530             enum "PendingCreate";\r
2531             enum "PendingUpdate";\r
2532             enum "PendingDelete";\r
2533             enum "Deleted";\r
2534             enum "Created";\r
2535          }\r
2536       }\r
2537       leaf last-rpc-action {\r
2538          type enumeration {\r
2539             enum "assign";\r
2540             enum "activate";\r
2541             enum "delete";\r
2542             enum "unassign";\r
2543             enum "deactivate";\r
2544             enum "create";\r
2545             enum "changeassign";\r
2546             enum "reoptimize";\r
2547          }\r
2548       }\r
2549       leaf last-action {\r
2550          description "should be list of possible request-actions";\r
2551          type enumeration {\r
2552             enum "CreateNetworkInstance";\r
2553             enum "ActivateNetworkInstance";\r
2554             enum "CreateServiceInstance";\r
2555             enum "DeleteServiceInstance";\r
2556             enum "DeleteNetworkInstance";\r
2557             enum "CreateVnfInstance";\r
2558             enum "ActivateVnfInstance";\r
2559             enum "DeleteVnfInstance";\r
2560             enum "CreateVfModuleInstance";\r
2561             enum "ActivateVfModuleInstance";\r
2562             enum "DeleteVfModuleInstance";\r
2563             enum "CreateContrailRouteInstance";\r
2564             enum "DeleteContrailRouteInstance";\r
2565             enum "CreateSecurityZoneInstance";\r
2566             enum "DeleteSecurityZoneInstance";\r
2567             enum "ActivateDCINetworkInstance";\r
2568             enum "DeActivateDCINetworkInstance";\r
2569             enum "CreateTunnelXConnInstance";\r
2570             enum "DeleteTunnelXConnInstance";\r
2571             enum "CreateBRGInstance";\r
2572             enum "DeleteBRGInstance";\r
2573             enum "CreateSOTNConnectivityInstance";\r
2574             enum "ActivateSOTNConnectivityInstance";\r
2575             enum "DeactivateSOTNConnectivityInstance";\r
2576             enum "DeleteSOTNConnectivityInstance";\r
2577             enum "CreateSOTNAttachmentInstance";\r
2578             enum "ActivateSOTNAttachmentInstance";\r
2579             enum "DeactivateSOTNAttachmentInstance";\r
2580             enum "DeleteSOTNAttachmentInstance";\r
2581             enum "CreateSiteInstance";\r
2582             enum "ActivateSiteInstance";\r
2583             enum "DeactivateSiteInstance";\r
2584             enum "DeleteSiteInstance";\r
2585             enum "CreatePortMirrorConfigurationInstance";\r
2586             enum "DeletePortMirrorConfigurationInstance";\r
2587             enum "ChangePortMirrorConfigurationInstance";\r
2588             enum "CreateGenericConfigurationInstance";\r
2589             enum "DeleteGenericConfigurationInstance";\r
2590             enum "PreloadVfModuleRequest";\r
2591             enum "DeletePreloadVfModuleRequest";\r
2592             enum "PreloadNetworkRequest";\r
2593             enum "DeletePreloadNetworkRequest";\r
2594             enum "CreateForwardingPathInstance";\r
2595             enum "DeleteForwardingPathInstance";\r
2596             enum "UpdateForwardingPathInstance";\r
2597             enum "CreateSDWANConnectivityInstance";\r
2598             enum "ActivateSDWANConnectivityInstance";\r
2599             enum "DeactivateSDWANConnectivityInstance";\r
2600             enum "DeleteSDWANConnectivityInstance";\r
2601             enum "CreateSDWANDeviceInstance";\r
2602             enum "ActivateSDWANDeviceInstance";\r
2603             enum "DeactivateSDWANDeviceInstance";\r
2604             enum "DeleteSDWANDeviceInstance";\r
2605             enum "CreateSDWANPortInstance";\r
2606             enum "ActivateSDWANPortInstance";\r
2607             enum "DeactivateSDWANPortInstance";\r
2608             enum "DeleteSDWANPortInstance";\r
2609             enum "CreateSDWANAttachmentInstance";\r
2610             enum "ActivateSDWANAttachmentInstance";\r
2611             enum "DeactivateSDWANAttachmentInstance";\r
2612             enum "DeleteSDWANAttachmentInstance";\r
2613             enum "ReoptimizeSOTNInstance";\r
2614          }\r
2615       }\r
2616       leaf last-svc-request-id {\r
2617          description "Not currently populated in service data.";\r
2618          type string;\r
2619       }\r
2620       leaf last-order-status {\r
2621          type enumeration {\r
2622             enum "Active";\r
2623             enum "PendingAssignment";\r
2624             enum "PendingCreate";\r
2625             enum "PendingUpdate";\r
2626             enum "PendingDelete";\r
2627             enum "Deleted";\r
2628             enum "Created";\r
2629          }\r
2630       }\r
2631       leaf create-timestamp {\r
2632          description "Not currently populated in service data.";\r
2633          type string;\r
2634       }\r
2635       leaf modify-timestamp {\r
2636          type string;\r
2637       }\r
2638    }\r
2639    grouping service-response-information {\r
2640       container service-response-information {\r
2641          uses instance-reference;\r
2642       }\r
2643    }\r
2644    grouping network-response-information {\r
2645       container network-response-information {\r
2646          uses instance-reference;\r
2647       }\r
2648    }\r
2649    grouping vnf-response-information {\r
2650       container vnf-response-information {\r
2651          uses instance-reference;\r
2652       }\r
2653    }\r
2654    grouping vf-module-response-information {\r
2655       container vf-module-response-information {\r
2656          uses instance-reference;\r
2657       }\r
2658    }\r
2659    grouping contrail-route-response-information {\r
2660       container contrail-route-response-information {\r
2661          uses instance-reference;\r
2662       }\r
2663    }\r
2664    grouping security-zone-response-information {\r
2665       container security-zone-response-information {\r
2666          uses instance-reference;\r
2667       }\r
2668    }\r
2669    grouping getpathsegment-response-information {\r
2670       container getpathsegment-response-information {\r
2671          uses instance-reference;\r
2672       }\r
2673    }\r
2674    grouping port-mirror-response-information {\r
2675       container port-mirror-response-information {\r
2676          uses instance-reference;\r
2677       }\r
2678    }\r
2679    grouping gc-response-information {\r
2680       container gc-response-information {\r
2681          uses instance-reference;\r
2682       }\r
2683    }\r
2684    grouping tunnelxconn-response-information {\r
2685        container tunnelxconn-response-information {\r
2686            uses instance-reference;\r
2687        }\r
2688    }\r
2689    grouping brg-response-information {\r
2690        container brg-response-information {\r
2691            uses instance-reference;\r
2692        }\r
2693    }\r
2694    grouping connection-attachment-response-information {\r
2695       container connection-attachment-response-information {\r
2696          uses instance-reference;\r
2697       }\r
2698    }\r
2699    grouping preload-model-information {\r
2700       list preload-list {\r
2701          key "preload-id preload-type";\r
2702          leaf preload-id {\r
2703             description "vf-module-name or network name";\r
2704             type string;\r
2705             mandatory true;\r
2706          }\r
2707          leaf preload-type {\r
2708             description "network or vf-module";\r
2709             type string;\r
2710             mandatory true;\r
2711          }\r
2712          uses preload-data;\r
2713       }\r
2714    }\r
2715    grouping preload-data {\r
2716       container preload-data {\r
2717          uses preload-vf-module-topology-information;\r
2718          uses preload-network-topology-information;\r
2719          uses preload-oper-status;\r
2720       }\r
2721    }\r
2722    grouping preload-vf-module-topology-information {\r
2723       container preload-vf-module-topology-information {\r
2724          uses vnf-topology-identifier-structure;\r
2725          uses vnf-resource-assignments;\r
2726          uses vf-module-topology;\r
2727       }\r
2728    }\r
2729    grouping preload-network-topology-information {\r
2730       container preload-network-topology-information {\r
2731          uses network-topology-identifier-structure;\r
2732          uses subnets;\r
2733          uses vpn-bindings;\r
2734          uses network-policy;\r
2735          uses route-table-reference;\r
2736          uses host-routes;\r
2737          uses provider-network-information;\r
2738       }\r
2739    }\r
2740    grouping subnets {\r
2741       list subnets {\r
2742          key "start-address";\r
2743          leaf start-address {\r
2744             type inet:ip-address;\r
2745          }\r
2746          leaf gateway-address {\r
2747             type inet:ip-address;\r
2748          }\r
2749          leaf cidr-mask {\r
2750             type string;\r
2751          }\r
2752          leaf ip-version {\r
2753             type string;\r
2754          }\r
2755          leaf dhcp-enabled {\r
2756             type enumeration {\r
2757                enum "Y";\r
2758                enum "N";\r
2759             }\r
2760          }\r
2761          leaf dhcp-start-address {\r
2762             type string;\r
2763          }\r
2764          leaf dhcp-end-address {\r
2765             type string;\r
2766          }\r
2767          leaf addr-from-start {\r
2768             description "Default is N";\r
2769             type enumeration {\r
2770                enum "Y";\r
2771                enum "N";\r
2772             }\r
2773          }\r
2774          leaf subnet-name {\r
2775             type string;\r
2776          }\r
2777          leaf subnet-role {\r
2778             type string;\r
2779          }\r
2780          leaf subnet-sequence {\r
2781             type uint8;\r
2782          }\r
2783       }\r
2784    }\r
2785    grouping vpn-bindings {\r
2786       list vpn-bindings {\r
2787          key "vpn-binding-id";\r
2788          leaf vpn-binding-id {\r
2789             type string;\r
2790          }\r
2791          leaf vpn-name {\r
2792             type string;\r
2793          }\r
2794          leaf global-route-target {\r
2795             type string;\r
2796          }\r
2797          leaf route-target-role {\r
2798             type string;\r
2799          }\r
2800          leaf aic-zone {\r
2801             description "AIC Zone the route target associated with";\r
2802             type string;\r
2803          }\r
2804       }\r
2805    }\r
2806    grouping network-policy {\r
2807       list network-policy {\r
2808          key "network-policy-fqdn";\r
2809          leaf network-policy-fqdn {\r
2810             type string;\r
2811          }\r
2812          leaf network-policy-id {\r
2813             type string;\r
2814          }\r
2815       }\r
2816    }\r
2817    grouping route-table-reference {\r
2818       list route-table-reference {\r
2819          key "route-table-reference-fqdn";\r
2820          leaf route-table-reference-fqdn {\r
2821             type string;\r
2822             mandatory true;\r
2823          }\r
2824          leaf route-table-reference-id {\r
2825             type string;\r
2826          }\r
2827       }\r
2828    }\r
2829    grouping provider-network-information {\r
2830       leaf physical-network-name {\r
2831          type string;\r
2832       }\r
2833       leaf is-provider-network {\r
2834          type boolean;\r
2835       }\r
2836       leaf is-shared-network {\r
2837          type boolean;\r
2838       }\r
2839       leaf is-external-network { \r
2840          type boolean;\r
2841       }\r
2842    }\r
2843    grouping host-routes {\r
2844       list host-routes {\r
2845          key "route-prefix";\r
2846          leaf route-prefix {\r
2847             type string;\r
2848          }\r
2849          leaf next-hop {\r
2850             description "Could be ip-address or hostname or service-instance";\r
2851             type string;\r
2852          }\r
2853       }\r
2854    }\r
2855    grouping preload-oper-status {\r
2856       container preload-oper-status {\r
2857          leaf order-status {\r
2858             type enumeration {\r
2859                enum "Active";\r
2860                enum "PendingAssignment";\r
2861                enum "PendingCreate";\r
2862                enum "PendingUpdate";\r
2863                enum "PendingDelete";\r
2864                enum "Deleted";\r
2865             }\r
2866          }\r
2867          leaf last-action {\r
2868             type enumeration {\r
2869                enum "PreloadVfModuleRequest";\r
2870                enum "DeletePreloadVfModuleRequest";\r
2871                enum "PreloadNetworkRequest";\r
2872                enum "DeletePreloadNetworkRequest";\r
2873             }\r
2874          }\r
2875          leaf last-svc-request-id {\r
2876             type string;\r
2877          }\r
2878          leaf last-order-status {\r
2879             type enumeration {\r
2880                enum "Active";\r
2881                enum "PendingAssignment";\r
2882                enum "PendingCreate";\r
2883                enum "PendingUpdate";\r
2884                enum "PendingDelete";\r
2885                enum "Deleted";\r
2886             }\r
2887          }\r
2888          leaf create-timestamp {\r
2889             type string;\r
2890          }\r
2891          leaf modify-timestamp {\r
2892             type string;\r
2893          }\r
2894          leaf maintenance-indicator {\r
2895             type enumeration {\r
2896                enum "Y";\r
2897                enum "N";\r
2898             }\r
2899          }\r
2900       }\r
2901    }\r
2902    grouping preload-topology-response-body {\r
2903       leaf svc-request-id {\r
2904          type string;\r
2905       }\r
2906       leaf response-code {\r
2907          type string;\r
2908       }\r
2909       leaf response-message {\r
2910          type string;\r
2911       }\r
2912       leaf ack-final-indicator {\r
2913          type string;\r
2914       }\r
2915    }\r
2916    rpc generic-configuration-notification {\r
2917       input {\r
2918          uses sdnc-request-header;\r
2919          uses request-information;\r
2920          uses service-information;\r
2921          uses configuration-information;\r
2922          uses topology-response-common;\r
2923          leaf configuration-topology-link {\r
2924             description "Returns URL to generic-configuration-topology ";\r
2925             type string;\r
2926          }\r
2927          uses vnr-parameters;\r
2928          uses vnf-vnr-rebuild-data;\r
2929       }\r
2930    }\r
2931    container services {\r
2932       uses service-model-infrastructure;\r
2933    }\r
2934    container contrail-route-allotted-resources {\r
2935       list contrail-route-allotted-resource {\r
2936          key "allotted-resource-id";\r
2937          leaf allotted-resource-id {\r
2938             type string;\r
2939             mandatory true;\r
2940          }\r
2941          container allotted-resource-data {\r
2942             container allotted-resource-operation-information {\r
2943                uses contrail-route-operation-information;\r
2944             }\r
2945             uses contrail-route-topology;\r
2946             uses allotted-resource-oper-status;\r
2947          }\r
2948          uses allotted-resource-status;\r
2949       }\r
2950    }\r
2951    container security-zone-allotted-resources {\r
2952       list security-zone-allotted-resource {\r
2953          key "allotted-resource-id";\r
2954          leaf allotted-resource-id {\r
2955             type string;\r
2956             mandatory true;\r
2957          }\r
2958          container allotted-resource-data {\r
2959             container allotted-resource-operation-information {\r
2960                uses security-zone-operation-information;\r
2961             }\r
2962             uses security-zone-topology;\r
2963             container security-zone-parameters {\r
2964                uses param;\r
2965             }\r
2966             uses allotted-resource-oper-status;\r
2967          }\r
2968          uses allotted-resource-status;\r
2969       }\r
2970    }\r
2971    container tunnelxconn-allotted-resources {\r
2972        list tunnelxconn-allotted-resource {\r
2973            key "allotted-resource-id";\r
2974            leaf allotted-resource-id {\r
2975                type string;\r
2976                mandatory true;\r
2977            }\r
2978            container allotted-resource-data {\r
2979                container allotted-resource-operation-information {\r
2980                    uses tunnelxconn-operation-information;\r
2981                }\r
2982                uses tunnelxconn-topology;\r
2983                container tunnelxconn-parameters {\r
2984                    uses param;\r
2985                }\r
2986                uses allotted-resource-oper-status;\r
2987            }\r
2988            uses allotted-resource-status;\r
2989        }\r
2990    }\r
2991    container brg-allotted-resources {\r
2992        list brg-allotted-resource {\r
2993            key "allotted-resource-id";\r
2994            leaf allotted-resource-id {\r
2995                type string;\r
2996                mandatory true;\r
2997            }\r
2998            container allotted-resource-data {\r
2999                container allotted-resource-operation-information {\r
3000                    uses brg-operation-information;\r
3001                }\r
3002                uses brg-topology;\r
3003                container brg-parameters {\r
3004                    uses param;\r
3005                }\r
3006                uses allotted-resource-oper-status;\r
3007            }\r
3008            uses allotted-resource-status;\r
3009        }\r
3010    }\r
3011    container connection-attachment-allotted-resources {\r
3012       list connection-attachment-allotted-resource {\r
3013          key "allotted-resource-id";\r
3014          leaf allotted-resource-id {\r
3015             type string;\r
3016             mandatory true;\r
3017          }\r
3018          container allotted-resource-data {\r
3019             container allotted-resource-operation-information {\r
3020                uses connection-attachment-operation-information;\r
3021             }\r
3022             uses connection-attachment-topology;\r
3023             container connection-attachment-parameters {\r
3024                uses param;\r
3025             }\r
3026             uses allotted-resource-oper-status;\r
3027          }\r
3028          uses allotted-resource-status;\r
3029       }\r
3030    }\r
3031    container port-mirror-configurations {\r
3032       list port-mirror-configuration {\r
3033          key "configuration-id";\r
3034          leaf configuration-id {\r
3035             type string;\r
3036             mandatory true;\r
3037          }\r
3038          container configuration-data {\r
3039             container configuration-operation-information {\r
3040                uses port-mirror-topology-operation-information;\r
3041             }\r
3042             uses port-mirror-configuration-topology;\r
3043             uses configuration-oper-status;\r
3044          }\r
3045          uses configuration-status;\r
3046       }\r
3047    }\r
3048    container generic-configurations {\r
3049       list gc-configuration {\r
3050          key "configuration-id";\r
3051          leaf configuration-id {\r
3052             type string;\r
3053             mandatory true;\r
3054          }\r
3055          container configuration-data {\r
3056             container configuration-operation-information {\r
3057                uses gc-topology-operation-information;\r
3058             }\r
3059             uses configuration-oper-status;\r
3060          }\r
3061          uses configuration-status;\r
3062       }\r
3063    }\r
3064    rpc service-topology-operation {\r
3065       input {\r
3066          uses service-operation-information;\r
3067       }\r
3068       output {\r
3069          uses topology-response-common;\r
3070          uses service-response-information;\r
3071       }\r
3072    }\r
3073    rpc network-topology-operation {\r
3074       input {\r
3075          uses network-operation-information;\r
3076       }\r
3077       output {\r
3078          uses topology-response-common;\r
3079          uses network-response-information;\r
3080          uses service-response-information;\r
3081       }\r
3082    }\r
3083    rpc vnf-topology-operation {\r
3084       input {\r
3085          uses vnf-operation-information;\r
3086       }\r
3087       output {\r
3088          uses topology-response-common;\r
3089          uses vnf-response-information;\r
3090          uses service-response-information;\r
3091       }\r
3092    }\r
3093    rpc vf-module-topology-operation {\r
3094       input {\r
3095          uses vf-module-operation-information;\r
3096       }\r
3097       output {\r
3098          uses topology-response-common;\r
3099          uses vf-module-response-information;\r
3100          uses vnf-response-information;\r
3101          uses service-response-information;\r
3102       }\r
3103    }\r
3104    rpc contrail-route-topology-operation {\r
3105       input {\r
3106          uses contrail-route-operation-information;\r
3107       }\r
3108       output {\r
3109          uses topology-response-common;\r
3110          uses contrail-route-response-information;\r
3111          uses service-response-information;\r
3112       }\r
3113    }\r
3114    rpc security-zone-topology-operation {\r
3115       input {\r
3116          uses security-zone-operation-information;\r
3117       }\r
3118       output {\r
3119          uses topology-response-common;\r
3120          uses security-zone-response-information;\r
3121          uses service-response-information;\r
3122       }\r
3123    }\r
3124    rpc tunnelxconn-topology-operation {\r
3125        input {\r
3126            uses tunnelxconn-operation-information;\r
3127        }\r
3128        output {\r
3129            uses topology-response-common;\r
3130            uses tunnelxconn-response-information;\r
3131            uses service-response-information;\r
3132        }\r
3133    }\r
3134    rpc brg-topology-operation {\r
3135        input {\r
3136            uses brg-operation-information;\r
3137        }\r
3138        output {\r
3139            uses topology-response-common;\r
3140            uses brg-response-information;\r
3141            uses service-response-information;\r
3142        }\r
3143    }\r
3144    rpc policy-update-notify-operation {\r
3145       input {\r
3146          leaf policy-name {\r
3147             type string;\r
3148             mandatory true;\r
3149          }\r
3150          leaf version-id {\r
3151             description "Map JSON versionNo to version-id";\r
3152             type string;\r
3153             mandatory true;\r
3154          }\r
3155          leaf update-type {\r
3156             type string;\r
3157             mandatory true;\r
3158          }\r
3159       }\r
3160       output {\r
3161          leaf error-code {\r
3162             type string;\r
3163          }\r
3164          leaf error-msg {\r
3165             type string;\r
3166          }\r
3167       }\r
3168    }\r
3169    rpc getpathsegment-topology-operation {\r
3170       input {\r
3171          uses forwarding-path-operation-information;\r
3172       }\r
3173       output {\r
3174          uses topology-response-common;\r
3175          uses getpathsegment-response-information;\r
3176          uses service-response-information;\r
3177       }\r
3178    }\r
3179    rpc port-mirror-topology-operation {\r
3180       input {\r
3181          uses port-mirror-topology-operation-information;\r
3182       }\r
3183       output {\r
3184          uses topology-response-common;\r
3185          uses port-mirror-response-information;\r
3186          uses service-response-information;\r
3187       }\r
3188    }\r
3189    rpc generic-configuration-topology-operation {\r
3190       input {\r
3191          uses gc-topology-operation-information;\r
3192       }\r
3193       output {\r
3194          uses topology-response-common;\r
3195          uses gc-response-information;\r
3196          uses service-response-information;\r
3197       }\r
3198    }\r
3199    rpc vnf-get-resource-request {\r
3200       input {\r
3201          uses sdnc-request-header;\r
3202          uses request-information;\r
3203          uses service-information;\r
3204          uses vnf-get-resource-request-input-data;\r
3205       }\r
3206       output {\r
3207          container vnf-get-resource-response-information {\r
3208             uses vnf-cloud-param;\r
3209          }\r
3210       }\r
3211    }\r
3212    container preload-information {\r
3213       uses preload-model-information;\r
3214    }\r
3215    rpc preload-vf-module-topology-operation {\r
3216       input {\r
3217          uses sdnc-request-header;\r
3218          uses request-information;\r
3219          uses preload-vf-module-topology-information;\r
3220       }\r
3221       output {\r
3222          uses preload-topology-response-body;\r
3223       }\r
3224    }\r
3225    rpc preload-network-topology-operation {\r
3226       input {\r
3227          uses sdnc-request-header;\r
3228          uses request-information;\r
3229          uses preload-network-topology-information;\r
3230       }\r
3231       output {\r
3232          uses preload-topology-response-body;\r
3233       }\r
3234    }\r
3235 \r
3236    rpc connection-attachment-topology-operation {\r
3237        input {\r
3238            uses connection-attachment-operation-information;\r
3239        }\r
3240        output {\r
3241            uses topology-response-common;\r
3242            uses connection-attachment-response-information;\r
3243            uses service-response-information;\r
3244        }\r
3245    }\r
3246 \r
3247 } ////closes the module\r