bug fix for SO default input
[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 "DeActivateNetworkInstance";\r
2328                enum "CreateServiceInstance";\r
2329                enum "DeleteServiceInstance";\r
2330                enum "DeleteNetworkInstance";\r
2331                enum "CreateVnfInstance";\r
2332                enum "ActivateVnfInstance";\r
2333                enum "DeleteVnfInstance";\r
2334                enum "CreateVfModuleInstance";\r
2335                enum "ActivateVfModuleInstance";\r
2336                enum "DeleteVfModuleInstance";\r
2337                enum "CreateContrailRouteInstance";\r
2338                enum "DeleteContrailRouteInstance";\r
2339                enum "CreateSecurityZoneInstance";\r
2340                enum "DeleteSecurityZoneInstance";\r
2341                enum "ActivateDCINetworkInstance";\r
2342                enum "DeActivateDCINetworkInstance";\r
2343                enum "CreateTunnelXConnInstance";\r
2344                enum "DeleteTunnelXConnInstance";\r
2345                enum "CreateBRGInstance";\r
2346                enum "DeleteBRGInstance";\r
2347                enum "CreateSOTNConnectivityInstance";\r
2348                enum "ActivateSOTNConnectivityInstance";\r
2349                enum "DeactivateSOTNConnectivityInstance";\r
2350                enum "DeleteSOTNConnectivityInstance";\r
2351                enum "CreateSOTNAttachmentInstance";\r
2352                enum "ActivateSOTNAttachmentInstance";\r
2353                enum "DeactivateSOTNAttachmentInstance";\r
2354                enum "DeleteSOTNAttachmentInstance";\r
2355                enum "CreateSiteInstance";\r
2356                enum "ActivateSiteInstance";\r
2357                enum "DeactivateSiteInstance";\r
2358                enum "DeleteSiteInstance";\r
2359                enum "CreatePortMirrorConfigurationInstance";\r
2360                enum "DeletePortMirrorConfigurationInstance";\r
2361                enum "ChangePortMirrorConfigurationInstance";\r
2362                enum "CreateGenericConfigurationInstance";\r
2363                enum "RebuildGenericConfigurationInstance";\r
2364                enum "DeleteGenericConfigurationInstance";\r
2365                enum "PreloadVfModuleRequest";\r
2366                enum "DeletePreloadVfModuleRequest";\r
2367                enum "PreloadNetworkRequest";\r
2368                enum "DeletePreloadNetworkRequest";\r
2369                enum "CreateForwardingPathInstance";\r
2370                enum "DeleteForwardingPathInstance";\r
2371                enum "UpdateForwardingPathInstance";\r
2372                enum "CreateSDWANConnectivityInstance";\r
2373                enum "ActivateSDWANConnectivityInstance";\r
2374                enum "DeactivateSDWANConnectivityInstance";\r
2375                enum "DeleteSDWANConnectivityInstance";\r
2376                enum "CreateSDWANDeviceInstance";\r
2377                enum "ActivateSDWANDeviceInstance";\r
2378                enum "DeactivateSDWANDeviceInstance";\r
2379                enum "DeleteSDWANDeviceInstance";\r
2380                enum "CreateSDWANPortInstance";\r
2381                enum "ActivateSDWANPortInstance";\r
2382                enum "DeactivateSDWANPortInstance";\r
2383                enum "DeleteSDWANPortInstance";\r
2384                enum "CreateSDWANAttachmentInstance";\r
2385                enum "ActivateSDWANAttachmentInstance";\r
2386                enum "DeactivateSDWANAttachmentInstance";\r
2387                enum "DeleteSDWANAttachmentInstance";\r
2388                enum "ReoptimizeSOTNInstance";\r
2389             }\r
2390          }\r
2391          leaf source {\r
2392             type string;\r
2393          }\r
2394          leaf notification-url {\r
2395             type string;\r
2396          }\r
2397          leaf order-number {\r
2398             type string;\r
2399          }\r
2400          leaf order-version {\r
2401             type string;\r
2402          }\r
2403       }\r
2404    }\r
2405    grouping service-information {\r
2406       container service-information {\r
2407          leaf service-id {\r
2408             description "This maps to the product-family-id in A&AI";\r
2409             type string;\r
2410          }\r
2411          leaf subscription-service-type {\r
2412             description "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example.";\r
2413             type string;\r
2414          }\r
2415          uses onap-model-information;\r
2416          leaf service-instance-id {\r
2417             type string;\r
2418          }\r
2419          leaf global-customer-id {\r
2420             description "need for put of data to AnAI (MSO provides)";\r
2421             type string;\r
2422          }\r
2423          leaf subscriber-name {\r
2424             description "Would not be expected for vIPR-ATM or mobility services.";\r
2425             type string;\r
2426          }\r
2427       }\r
2428    }\r
2429    grouping onap-model-information {\r
2430       container onap-model-information {\r
2431          leaf model-invariant-uuid {\r
2432             description "identifies the invariant uuid for this service or resource";\r
2433             type string;\r
2434          }\r
2435          leaf model-customization-uuid {\r
2436             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
2437             type string;\r
2438          }\r
2439          leaf model-uuid {\r
2440             description "identifies the uuid for this service or resource, which is version specific";\r
2441             type string;\r
2442          }\r
2443          leaf model-version {\r
2444             type string;\r
2445          }\r
2446          leaf model-name {\r
2447             type string;\r
2448          }\r
2449       }\r
2450    }\r
2451    grouping region-identifier {\r
2452       leaf tenant {\r
2453          type string;\r
2454       }\r
2455       leaf aic-cloud-region {\r
2456          description "The AIC cloud region which maps to contrail versions";\r
2457          type string;\r
2458       }\r
2459       leaf cloud-owner {\r
2460          description "The cloud owner provided by the caller";\r
2461          type string;\r
2462       }\r
2463       leaf aic-clli {\r
2464          description "Not expected to be used";\r
2465          type string;\r
2466       }\r
2467    }\r
2468    grouping param {\r
2469       list param {\r
2470          key "name";\r
2471          leaf name {\r
2472             type string;\r
2473          }\r
2474          leaf value {\r
2475             type string;\r
2476          }\r
2477          container resource-resolution-data {\r
2478             list resource-key {\r
2479                key "name";\r
2480                leaf name {\r
2481                   type string;\r
2482                }\r
2483                leaf value {\r
2484                   type string;\r
2485                }\r
2486             }\r
2487             leaf status {\r
2488                description "SUCCESS, FAILED, or PENDING - RA returned data as capability";\r
2489                type string;\r
2490             }\r
2491             leaf capability-name {\r
2492                description "Resource assignment resolution Capability name";\r
2493                type string;\r
2494             }\r
2495          }\r
2496       }\r
2497    }\r
2498    grouping ip-addresses {\r
2499       container ip-addresses {\r
2500          leaf ipv4-address {\r
2501             type inet:ip-address;\r
2502          }\r
2503          leaf ipv6-address {\r
2504             type inet:ip-address;\r
2505          }\r
2506          leaf vipv4-address {\r
2507             description "Virtual v4";\r
2508             type inet:ip-address;\r
2509          }\r
2510          leaf vipv6-address {\r
2511             description "Virtual v6";\r
2512             type inet:ip-address;\r
2513          }\r
2514       }\r
2515    }\r
2516    grouping instance-reference {\r
2517       leaf instance-id {\r
2518          type string;\r
2519       }\r
2520       leaf object-path {\r
2521          description "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/";\r
2522          type string;\r
2523       }\r
2524    }\r
2525    grouping oper-status-data {\r
2526       leaf order-status {\r
2527          description "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout";\r
2528          type enumeration {\r
2529             enum "Active";\r
2530             enum "PendingAssignment";\r
2531             enum "PendingCreate";\r
2532             enum "PendingUpdate";\r
2533             enum "PendingDelete";\r
2534             enum "Deleted";\r
2535             enum "Created";\r
2536          }\r
2537       }\r
2538       leaf last-rpc-action {\r
2539          type enumeration {\r
2540             enum "assign";\r
2541             enum "activate";\r
2542             enum "delete";\r
2543             enum "unassign";\r
2544             enum "deactivate";\r
2545             enum "create";\r
2546             enum "changeassign";\r
2547             enum "reoptimize";\r
2548          }\r
2549       }\r
2550       leaf last-action {\r
2551          description "should be list of possible request-actions";\r
2552          type enumeration {\r
2553             enum "CreateNetworkInstance";\r
2554             enum "ActivateNetworkInstance";\r
2555             enum "DeActivateNetworkInstance";\r
2556             enum "CreateServiceInstance";\r
2557             enum "DeleteServiceInstance";\r
2558             enum "DeleteNetworkInstance";\r
2559             enum "CreateVnfInstance";\r
2560             enum "ActivateVnfInstance";\r
2561             enum "DeleteVnfInstance";\r
2562             enum "CreateVfModuleInstance";\r
2563             enum "ActivateVfModuleInstance";\r
2564             enum "DeleteVfModuleInstance";\r
2565             enum "CreateContrailRouteInstance";\r
2566             enum "DeleteContrailRouteInstance";\r
2567             enum "CreateSecurityZoneInstance";\r
2568             enum "DeleteSecurityZoneInstance";\r
2569             enum "ActivateDCINetworkInstance";\r
2570             enum "DeActivateDCINetworkInstance";\r
2571             enum "CreateTunnelXConnInstance";\r
2572             enum "DeleteTunnelXConnInstance";\r
2573             enum "CreateBRGInstance";\r
2574             enum "DeleteBRGInstance";\r
2575             enum "CreateSOTNConnectivityInstance";\r
2576             enum "ActivateSOTNConnectivityInstance";\r
2577             enum "DeactivateSOTNConnectivityInstance";\r
2578             enum "DeleteSOTNConnectivityInstance";\r
2579             enum "CreateSOTNAttachmentInstance";\r
2580             enum "ActivateSOTNAttachmentInstance";\r
2581             enum "DeactivateSOTNAttachmentInstance";\r
2582             enum "DeleteSOTNAttachmentInstance";\r
2583             enum "CreateSiteInstance";\r
2584             enum "ActivateSiteInstance";\r
2585             enum "DeactivateSiteInstance";\r
2586             enum "DeleteSiteInstance";\r
2587             enum "CreatePortMirrorConfigurationInstance";\r
2588             enum "DeletePortMirrorConfigurationInstance";\r
2589             enum "ChangePortMirrorConfigurationInstance";\r
2590             enum "CreateGenericConfigurationInstance";\r
2591             enum "DeleteGenericConfigurationInstance";\r
2592             enum "PreloadVfModuleRequest";\r
2593             enum "DeletePreloadVfModuleRequest";\r
2594             enum "PreloadNetworkRequest";\r
2595             enum "DeletePreloadNetworkRequest";\r
2596             enum "CreateForwardingPathInstance";\r
2597             enum "DeleteForwardingPathInstance";\r
2598             enum "UpdateForwardingPathInstance";\r
2599             enum "CreateSDWANConnectivityInstance";\r
2600             enum "ActivateSDWANConnectivityInstance";\r
2601             enum "DeactivateSDWANConnectivityInstance";\r
2602             enum "DeleteSDWANConnectivityInstance";\r
2603             enum "CreateSDWANDeviceInstance";\r
2604             enum "ActivateSDWANDeviceInstance";\r
2605             enum "DeactivateSDWANDeviceInstance";\r
2606             enum "DeleteSDWANDeviceInstance";\r
2607             enum "CreateSDWANPortInstance";\r
2608             enum "ActivateSDWANPortInstance";\r
2609             enum "DeactivateSDWANPortInstance";\r
2610             enum "DeleteSDWANPortInstance";\r
2611             enum "CreateSDWANAttachmentInstance";\r
2612             enum "ActivateSDWANAttachmentInstance";\r
2613             enum "DeactivateSDWANAttachmentInstance";\r
2614             enum "DeleteSDWANAttachmentInstance";\r
2615             enum "ReoptimizeSOTNInstance";\r
2616          }\r
2617       }\r
2618       leaf last-svc-request-id {\r
2619          description "Not currently populated in service data.";\r
2620          type string;\r
2621       }\r
2622       leaf last-order-status {\r
2623          type enumeration {\r
2624             enum "Active";\r
2625             enum "PendingAssignment";\r
2626             enum "PendingCreate";\r
2627             enum "PendingUpdate";\r
2628             enum "PendingDelete";\r
2629             enum "Deleted";\r
2630             enum "Created";\r
2631          }\r
2632       }\r
2633       leaf create-timestamp {\r
2634          description "Not currently populated in service data.";\r
2635          type string;\r
2636       }\r
2637       leaf modify-timestamp {\r
2638          type string;\r
2639       }\r
2640    }\r
2641    grouping service-response-information {\r
2642       container service-response-information {\r
2643          uses instance-reference;\r
2644       }\r
2645    }\r
2646    grouping network-response-information {\r
2647       container network-response-information {\r
2648          uses instance-reference;\r
2649       }\r
2650    }\r
2651    grouping vnf-response-information {\r
2652       container vnf-response-information {\r
2653          uses instance-reference;\r
2654       }\r
2655    }\r
2656    grouping vf-module-response-information {\r
2657       container vf-module-response-information {\r
2658          uses instance-reference;\r
2659       }\r
2660    }\r
2661    grouping contrail-route-response-information {\r
2662       container contrail-route-response-information {\r
2663          uses instance-reference;\r
2664       }\r
2665    }\r
2666    grouping security-zone-response-information {\r
2667       container security-zone-response-information {\r
2668          uses instance-reference;\r
2669       }\r
2670    }\r
2671    grouping getpathsegment-response-information {\r
2672       container getpathsegment-response-information {\r
2673          uses instance-reference;\r
2674       }\r
2675    }\r
2676    grouping port-mirror-response-information {\r
2677       container port-mirror-response-information {\r
2678          uses instance-reference;\r
2679       }\r
2680    }\r
2681    grouping gc-response-information {\r
2682       container gc-response-information {\r
2683          uses instance-reference;\r
2684       }\r
2685    }\r
2686    grouping tunnelxconn-response-information {\r
2687        container tunnelxconn-response-information {\r
2688            uses instance-reference;\r
2689        }\r
2690    }\r
2691    grouping brg-response-information {\r
2692        container brg-response-information {\r
2693            uses instance-reference;\r
2694        }\r
2695    }\r
2696    grouping connection-attachment-response-information {\r
2697       container connection-attachment-response-information {\r
2698          uses instance-reference;\r
2699       }\r
2700    }\r
2701    grouping preload-model-information {\r
2702       list preload-list {\r
2703          key "preload-id preload-type";\r
2704          leaf preload-id {\r
2705             description "vf-module-name or network name";\r
2706             type string;\r
2707             mandatory true;\r
2708          }\r
2709          leaf preload-type {\r
2710             description "network or vf-module";\r
2711             type string;\r
2712             mandatory true;\r
2713          }\r
2714          uses preload-data;\r
2715       }\r
2716    }\r
2717    grouping preload-data {\r
2718       container preload-data {\r
2719          uses preload-vf-module-topology-information;\r
2720          uses preload-network-topology-information;\r
2721          uses preload-oper-status;\r
2722       }\r
2723    }\r
2724    grouping preload-vf-module-topology-information {\r
2725       container preload-vf-module-topology-information {\r
2726          uses vnf-topology-identifier-structure;\r
2727          uses vnf-resource-assignments;\r
2728          uses vf-module-topology;\r
2729       }\r
2730    }\r
2731    grouping preload-network-topology-information {\r
2732       container preload-network-topology-information {\r
2733          uses network-topology-identifier-structure;\r
2734          uses subnets;\r
2735          uses vpn-bindings;\r
2736          uses network-policy;\r
2737          uses route-table-reference;\r
2738          uses host-routes;\r
2739          uses provider-network-information;\r
2740       }\r
2741    }\r
2742    grouping subnets {\r
2743       list subnets {\r
2744          key "start-address";\r
2745          leaf start-address {\r
2746             type inet:ip-address;\r
2747          }\r
2748          leaf gateway-address {\r
2749             type inet:ip-address;\r
2750          }\r
2751          leaf cidr-mask {\r
2752             type string;\r
2753          }\r
2754          leaf ip-version {\r
2755             type string;\r
2756          }\r
2757          leaf dhcp-enabled {\r
2758             type enumeration {\r
2759                enum "Y";\r
2760                enum "N";\r
2761             }\r
2762          }\r
2763          leaf dhcp-start-address {\r
2764             type string;\r
2765          }\r
2766          leaf dhcp-end-address {\r
2767             type string;\r
2768          }\r
2769          leaf addr-from-start {\r
2770             description "Default is N";\r
2771             type enumeration {\r
2772                enum "Y";\r
2773                enum "N";\r
2774             }\r
2775          }\r
2776          leaf subnet-name {\r
2777             type string;\r
2778          }\r
2779          leaf subnet-role {\r
2780             type string;\r
2781          }\r
2782          leaf subnet-sequence {\r
2783             type uint8;\r
2784          }\r
2785       }\r
2786    }\r
2787    grouping vpn-bindings {\r
2788       list vpn-bindings {\r
2789          key "vpn-binding-id";\r
2790          leaf vpn-binding-id {\r
2791             type string;\r
2792          }\r
2793          leaf vpn-name {\r
2794             type string;\r
2795          }\r
2796          leaf global-route-target {\r
2797             type string;\r
2798          }\r
2799          leaf route-target-role {\r
2800             type string;\r
2801          }\r
2802          leaf aic-zone {\r
2803             description "AIC Zone the route target associated with";\r
2804             type string;\r
2805          }\r
2806       }\r
2807    }\r
2808    grouping network-policy {\r
2809       list network-policy {\r
2810          key "network-policy-fqdn";\r
2811          leaf network-policy-fqdn {\r
2812             type string;\r
2813          }\r
2814          leaf network-policy-id {\r
2815             type string;\r
2816          }\r
2817       }\r
2818    }\r
2819    grouping route-table-reference {\r
2820       list route-table-reference {\r
2821          key "route-table-reference-fqdn";\r
2822          leaf route-table-reference-fqdn {\r
2823             type string;\r
2824             mandatory true;\r
2825          }\r
2826          leaf route-table-reference-id {\r
2827             type string;\r
2828          }\r
2829       }\r
2830    }\r
2831    grouping provider-network-information {\r
2832       leaf physical-network-name {\r
2833          type string;\r
2834       }\r
2835       leaf is-provider-network {\r
2836          type boolean;\r
2837       }\r
2838       leaf is-shared-network {\r
2839          type boolean;\r
2840       }\r
2841       leaf is-external-network { \r
2842          type boolean;\r
2843       }\r
2844    }\r
2845    grouping host-routes {\r
2846       list host-routes {\r
2847          key "route-prefix";\r
2848          leaf route-prefix {\r
2849             type string;\r
2850          }\r
2851          leaf next-hop {\r
2852             description "Could be ip-address or hostname or service-instance";\r
2853             type string;\r
2854          }\r
2855       }\r
2856    }\r
2857    grouping preload-oper-status {\r
2858       container preload-oper-status {\r
2859          leaf order-status {\r
2860             type enumeration {\r
2861                enum "Active";\r
2862                enum "PendingAssignment";\r
2863                enum "PendingCreate";\r
2864                enum "PendingUpdate";\r
2865                enum "PendingDelete";\r
2866                enum "Deleted";\r
2867             }\r
2868          }\r
2869          leaf last-action {\r
2870             type enumeration {\r
2871                enum "PreloadVfModuleRequest";\r
2872                enum "DeletePreloadVfModuleRequest";\r
2873                enum "PreloadNetworkRequest";\r
2874                enum "DeletePreloadNetworkRequest";\r
2875             }\r
2876          }\r
2877          leaf last-svc-request-id {\r
2878             type string;\r
2879          }\r
2880          leaf last-order-status {\r
2881             type enumeration {\r
2882                enum "Active";\r
2883                enum "PendingAssignment";\r
2884                enum "PendingCreate";\r
2885                enum "PendingUpdate";\r
2886                enum "PendingDelete";\r
2887                enum "Deleted";\r
2888             }\r
2889          }\r
2890          leaf create-timestamp {\r
2891             type string;\r
2892          }\r
2893          leaf modify-timestamp {\r
2894             type string;\r
2895          }\r
2896          leaf maintenance-indicator {\r
2897             type enumeration {\r
2898                enum "Y";\r
2899                enum "N";\r
2900             }\r
2901          }\r
2902       }\r
2903    }\r
2904    grouping preload-topology-response-body {\r
2905       leaf svc-request-id {\r
2906          type string;\r
2907       }\r
2908       leaf response-code {\r
2909          type string;\r
2910       }\r
2911       leaf response-message {\r
2912          type string;\r
2913       }\r
2914       leaf ack-final-indicator {\r
2915          type string;\r
2916       }\r
2917    }\r
2918    rpc generic-configuration-notification {\r
2919       input {\r
2920          uses sdnc-request-header;\r
2921          uses request-information;\r
2922          uses service-information;\r
2923          uses configuration-information;\r
2924          uses topology-response-common;\r
2925          leaf configuration-topology-link {\r
2926             description "Returns URL to generic-configuration-topology ";\r
2927             type string;\r
2928          }\r
2929          uses vnr-parameters;\r
2930          uses vnf-vnr-rebuild-data;\r
2931       }\r
2932    }\r
2933    container services {\r
2934       uses service-model-infrastructure;\r
2935    }\r
2936    container contrail-route-allotted-resources {\r
2937       list contrail-route-allotted-resource {\r
2938          key "allotted-resource-id";\r
2939          leaf allotted-resource-id {\r
2940             type string;\r
2941             mandatory true;\r
2942          }\r
2943          container allotted-resource-data {\r
2944             container allotted-resource-operation-information {\r
2945                uses contrail-route-operation-information;\r
2946             }\r
2947             uses contrail-route-topology;\r
2948             uses allotted-resource-oper-status;\r
2949          }\r
2950          uses allotted-resource-status;\r
2951       }\r
2952    }\r
2953    container security-zone-allotted-resources {\r
2954       list security-zone-allotted-resource {\r
2955          key "allotted-resource-id";\r
2956          leaf allotted-resource-id {\r
2957             type string;\r
2958             mandatory true;\r
2959          }\r
2960          container allotted-resource-data {\r
2961             container allotted-resource-operation-information {\r
2962                uses security-zone-operation-information;\r
2963             }\r
2964             uses security-zone-topology;\r
2965             container security-zone-parameters {\r
2966                uses param;\r
2967             }\r
2968             uses allotted-resource-oper-status;\r
2969          }\r
2970          uses allotted-resource-status;\r
2971       }\r
2972    }\r
2973    container tunnelxconn-allotted-resources {\r
2974        list tunnelxconn-allotted-resource {\r
2975            key "allotted-resource-id";\r
2976            leaf allotted-resource-id {\r
2977                type string;\r
2978                mandatory true;\r
2979            }\r
2980            container allotted-resource-data {\r
2981                container allotted-resource-operation-information {\r
2982                    uses tunnelxconn-operation-information;\r
2983                }\r
2984                uses tunnelxconn-topology;\r
2985                container tunnelxconn-parameters {\r
2986                    uses param;\r
2987                }\r
2988                uses allotted-resource-oper-status;\r
2989            }\r
2990            uses allotted-resource-status;\r
2991        }\r
2992    }\r
2993    container brg-allotted-resources {\r
2994        list brg-allotted-resource {\r
2995            key "allotted-resource-id";\r
2996            leaf allotted-resource-id {\r
2997                type string;\r
2998                mandatory true;\r
2999            }\r
3000            container allotted-resource-data {\r
3001                container allotted-resource-operation-information {\r
3002                    uses brg-operation-information;\r
3003                }\r
3004                uses brg-topology;\r
3005                container brg-parameters {\r
3006                    uses param;\r
3007                }\r
3008                uses allotted-resource-oper-status;\r
3009            }\r
3010            uses allotted-resource-status;\r
3011        }\r
3012    }\r
3013    container connection-attachment-allotted-resources {\r
3014       list connection-attachment-allotted-resource {\r
3015          key "allotted-resource-id";\r
3016          leaf allotted-resource-id {\r
3017             type string;\r
3018             mandatory true;\r
3019          }\r
3020          container allotted-resource-data {\r
3021             container allotted-resource-operation-information {\r
3022                uses connection-attachment-operation-information;\r
3023             }\r
3024             uses connection-attachment-topology;\r
3025             container connection-attachment-parameters {\r
3026                uses param;\r
3027             }\r
3028             uses allotted-resource-oper-status;\r
3029          }\r
3030          uses allotted-resource-status;\r
3031       }\r
3032    }\r
3033    container port-mirror-configurations {\r
3034       list port-mirror-configuration {\r
3035          key "configuration-id";\r
3036          leaf configuration-id {\r
3037             type string;\r
3038             mandatory true;\r
3039          }\r
3040          container configuration-data {\r
3041             container configuration-operation-information {\r
3042                uses port-mirror-topology-operation-information;\r
3043             }\r
3044             uses port-mirror-configuration-topology;\r
3045             uses configuration-oper-status;\r
3046          }\r
3047          uses configuration-status;\r
3048       }\r
3049    }\r
3050    container generic-configurations {\r
3051       list gc-configuration {\r
3052          key "configuration-id";\r
3053          leaf configuration-id {\r
3054             type string;\r
3055             mandatory true;\r
3056          }\r
3057          container configuration-data {\r
3058             container configuration-operation-information {\r
3059                uses gc-topology-operation-information;\r
3060             }\r
3061             uses configuration-oper-status;\r
3062          }\r
3063          uses configuration-status;\r
3064       }\r
3065    }\r
3066    rpc service-topology-operation {\r
3067       input {\r
3068          uses service-operation-information;\r
3069       }\r
3070       output {\r
3071          uses topology-response-common;\r
3072          uses service-response-information;\r
3073       }\r
3074    }\r
3075    rpc network-topology-operation {\r
3076       input {\r
3077          uses network-operation-information;\r
3078       }\r
3079       output {\r
3080          uses topology-response-common;\r
3081          uses network-response-information;\r
3082          uses service-response-information;\r
3083       }\r
3084    }\r
3085    rpc vnf-topology-operation {\r
3086       input {\r
3087          uses vnf-operation-information;\r
3088       }\r
3089       output {\r
3090          uses topology-response-common;\r
3091          uses vnf-response-information;\r
3092          uses service-response-information;\r
3093       }\r
3094    }\r
3095    rpc vf-module-topology-operation {\r
3096       input {\r
3097          uses vf-module-operation-information;\r
3098       }\r
3099       output {\r
3100          uses topology-response-common;\r
3101          uses vf-module-response-information;\r
3102          uses vnf-response-information;\r
3103          uses service-response-information;\r
3104       }\r
3105    }\r
3106    rpc contrail-route-topology-operation {\r
3107       input {\r
3108          uses contrail-route-operation-information;\r
3109       }\r
3110       output {\r
3111          uses topology-response-common;\r
3112          uses contrail-route-response-information;\r
3113          uses service-response-information;\r
3114       }\r
3115    }\r
3116    rpc security-zone-topology-operation {\r
3117       input {\r
3118          uses security-zone-operation-information;\r
3119       }\r
3120       output {\r
3121          uses topology-response-common;\r
3122          uses security-zone-response-information;\r
3123          uses service-response-information;\r
3124       }\r
3125    }\r
3126    rpc tunnelxconn-topology-operation {\r
3127        input {\r
3128            uses tunnelxconn-operation-information;\r
3129        }\r
3130        output {\r
3131            uses topology-response-common;\r
3132            uses tunnelxconn-response-information;\r
3133            uses service-response-information;\r
3134        }\r
3135    }\r
3136    rpc brg-topology-operation {\r
3137        input {\r
3138            uses brg-operation-information;\r
3139        }\r
3140        output {\r
3141            uses topology-response-common;\r
3142            uses brg-response-information;\r
3143            uses service-response-information;\r
3144        }\r
3145    }\r
3146    rpc policy-update-notify-operation {\r
3147       input {\r
3148          leaf policy-name {\r
3149             type string;\r
3150             mandatory true;\r
3151          }\r
3152          leaf version-id {\r
3153             description "Map JSON versionNo to version-id";\r
3154             type string;\r
3155             mandatory true;\r
3156          }\r
3157          leaf update-type {\r
3158             type string;\r
3159             mandatory true;\r
3160          }\r
3161       }\r
3162       output {\r
3163          leaf error-code {\r
3164             type string;\r
3165          }\r
3166          leaf error-msg {\r
3167             type string;\r
3168          }\r
3169       }\r
3170    }\r
3171    rpc getpathsegment-topology-operation {\r
3172       input {\r
3173          uses forwarding-path-operation-information;\r
3174       }\r
3175       output {\r
3176          uses topology-response-common;\r
3177          uses getpathsegment-response-information;\r
3178          uses service-response-information;\r
3179       }\r
3180    }\r
3181    rpc port-mirror-topology-operation {\r
3182       input {\r
3183          uses port-mirror-topology-operation-information;\r
3184       }\r
3185       output {\r
3186          uses topology-response-common;\r
3187          uses port-mirror-response-information;\r
3188          uses service-response-information;\r
3189       }\r
3190    }\r
3191    rpc generic-configuration-topology-operation {\r
3192       input {\r
3193          uses gc-topology-operation-information;\r
3194       }\r
3195       output {\r
3196          uses topology-response-common;\r
3197          uses gc-response-information;\r
3198          uses service-response-information;\r
3199       }\r
3200    }\r
3201    rpc vnf-get-resource-request {\r
3202       input {\r
3203          uses sdnc-request-header;\r
3204          uses request-information;\r
3205          uses service-information;\r
3206          uses vnf-get-resource-request-input-data;\r
3207       }\r
3208       output {\r
3209          container vnf-get-resource-response-information {\r
3210             uses vnf-cloud-param;\r
3211          }\r
3212       }\r
3213    }\r
3214    container preload-information {\r
3215       uses preload-model-information;\r
3216    }\r
3217    rpc preload-vf-module-topology-operation {\r
3218       input {\r
3219          uses sdnc-request-header;\r
3220          uses request-information;\r
3221          uses preload-vf-module-topology-information;\r
3222       }\r
3223       output {\r
3224          uses preload-topology-response-body;\r
3225       }\r
3226    }\r
3227    rpc preload-network-topology-operation {\r
3228       input {\r
3229          uses sdnc-request-header;\r
3230          uses request-information;\r
3231          uses preload-network-topology-information;\r
3232       }\r
3233       output {\r
3234          uses preload-topology-response-body;\r
3235       }\r
3236    }\r
3237 \r
3238    rpc connection-attachment-topology-operation {\r
3239        input {\r
3240            uses connection-attachment-operation-information;\r
3241        }\r
3242        output {\r
3243            uses topology-response-common;\r
3244            uses connection-attachment-response-information;\r
3245            uses service-response-information;\r
3246        }\r
3247    }\r
3248 \r
3249 } ////closes the module\r