Add dhcp-subnet-assignments container
[sdnc/northbound.git] / generic-resource-api / model / src / main / yang / GENERIC-RESOURCE-API.yang
index 2f45ae2..e45447e 100644 (file)
@@ -4,7 +4,7 @@ module GENERIC-RESOURCE-API {
 \r
    prefix generic-resource-api;\r
 \r
-   import ietf-inet-types { prefix "inet"; revision-date "2010-09-24"; }\r
+   import ietf-inet-types { prefix "inet"; revision-date "2013-07-15"; }\r
 \r
    import ietf-yang-types { prefix yang; }\r
 \r
@@ -61,6 +61,12 @@ module GENERIC-RESOURCE-API {
                container vnf-data {\r
                   uses vnf-operation-information;\r
                   uses vnf-topology;\r
+                  container vnf-network-collections {\r
+                     uses vnf-network-collection;\r
+                  }\r
+                  container vnf-sub-interface-groups {\r
+                     uses vnf-sub-interface-group;\r
+                  }\r
                   container vnf-provided-allotted-resources {\r
                      leaf-list vnf-provided-ar-id {\r
                         description "List of allotted resources using capacity from this vnf";\r
@@ -98,6 +104,29 @@ module GENERIC-RESOURCE-API {
                uses allotted-resource-info;\r
             }\r
          }\r
+         container provided-configurations {\r
+            list provided-configuration {\r
+               key "configuration-id";\r
+               uses configuration-info;\r
+            }\r
+         }\r
+         container vnfc-instance-groups {\r
+            uses vnfc-instance-group;\r
+         }\r
+         container network-instance-groups {\r
+            uses network-instance-group;\r
+         }\r
+         container forwarding-paths {\r
+            list forwarding-path {\r
+               key "forwarding-path-id";\r
+               leaf forwarding-path-id {\r
+                  description "Generated by SDNC";\r
+                  type string;\r
+                  mandatory true;\r
+               }\r
+               uses forwarding-path-information;\r
+            }\r
+         }\r
       }\r
    }\r
    grouping service-status {\r
@@ -134,6 +163,7 @@ module GENERIC-RESOURCE-API {
                enum "delete";\r
                enum "unassign";\r
                enum "deactivate";\r
+               enum "create";\r
             }\r
          }\r
          leaf response-timestamp {\r
@@ -225,6 +255,13 @@ module GENERIC-RESOURCE-API {
          leaf network-type {\r
             type string;\r
          }\r
+         leaf network-technology {\r
+             type string;\r
+         }\r
+         leaf from-preload {\r
+            description "Indicates if source is preload data";\r
+            type boolean;\r
+         }\r
          uses onap-model-information;\r
       }\r
    }\r
@@ -237,6 +274,10 @@ module GENERIC-RESOURCE-API {
          container network-input-parameters {\r
             uses param;\r
          }\r
+         leaf network-instance-group-id {\r
+            description "When network has instance-group role in service model";\r
+            type string;\r
+         }\r
       }\r
    }\r
    grouping network-topology {\r
@@ -262,17 +303,28 @@ module GENERIC-RESOURCE-API {
          leaf network-type {\r
             type string;\r
          }\r
+         leaf network-instance-group-id {\r
+            description "When network is part of network instance-Group-data & instance Group in A&AI";\r
+            type string;\r
+         }\r
          leaf network-technology {\r
-            description "should we keep this?";\r
             type string;\r
          }\r
          leaf eipam-v4-address-plan {\r
-            description "??";\r
             type string;\r
          }\r
          leaf eipam-v6-address-plan {\r
             type string;\r
          }\r
+         leaf is-trunked {\r
+             type boolean;\r
+         }\r
+         leaf segmentation-id {\r
+            type string;\r
+         }\r
+         container related-networks {\r
+            uses related-network;\r
+         }\r
       }\r
    }\r
    grouping network-assignments {\r
@@ -292,6 +344,86 @@ module GENERIC-RESOURCE-API {
          }\r
       }\r
    }\r
+   grouping network-instance-group {\r
+      list network-instance-group {\r
+         key "network-instance-group-id";\r
+         leaf network-instance-group-id {\r
+            description "Also a Key in Network Instance Group in A&AI";\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf network-instance-group-function {\r
+            type string;\r
+         }\r
+         leaf service-instance-id {\r
+            type string;\r
+         }\r
+         uses onap-model-information;\r
+         container subnet-assignment-policy {\r
+            leaf subnet-use {\r
+               description "Current valid values - unique, shared (default)";\r
+               type string;\r
+            }\r
+         }\r
+         container vpn-binding-policy {\r
+            leaf vpn-binding {\r
+               type string;\r
+            }\r
+            leaf vpn-name {\r
+               type string;\r
+            }\r
+            leaf vpn-type {\r
+               type string;\r
+            }\r
+            leaf vpn-platform {\r
+               type string;\r
+            }\r
+            leaf global-route-target {\r
+               type string;\r
+            }\r
+            leaf route-target-role {\r
+               type string;\r
+            }\r
+         }\r
+         uses aggregate-routes;\r
+         uses subnets;\r
+         leaf subnet-key-value {\r
+            description "key-value provided to EIPAM when  creating shared subnet";\r
+            type string;\r
+         }\r
+         container networks {\r
+            list network {\r
+               key "network-id";\r
+               leaf network-id {\r
+                  description "Index into network-topology-identifier structure";\r
+                  type string;\r
+                  mandatory true;\r
+               }\r
+               leaf neutron-network-id {\r
+                  description "Neutron-network-id assigned by PO/RO";\r
+                  type string;\r
+               }\r
+               uses vpn-bindings;\r
+               leaf vlan-tag-id {\r
+                  type uint32;\r
+               }\r
+               leaf network-status {\r
+                  description "assigned, unassigned";\r
+                  type string;\r
+               }\r
+               container customer-bonding-requests {\r
+                  list customer-bonding-request {\r
+                     key "configuration-id";\r
+                     leaf configuration-id {\r
+                        description "e.g. vlan network receptor configuration id";\r
+                        type string;\r
+                     }\r
+                  }\r
+               }\r
+            }\r
+         }\r
+      }\r
+   }\r
    grouping network-level-oper-status {\r
       container network-level-oper-status {\r
          uses oper-status-data;\r
@@ -303,6 +435,7 @@ module GENERIC-RESOURCE-API {
       uses service-information;\r
       uses vnf-information;\r
       uses vnf-request-input;\r
+      uses license-information;\r
    }\r
    grouping vnf-information {\r
       container vnf-information {\r
@@ -310,7 +443,9 @@ module GENERIC-RESOURCE-API {
             type string;\r
          }\r
          leaf vnf-type {\r
-            description "vnf-model-id in Pats model?in Pats vnf submodule, contained within vnf-instance-topology-identifier grouping (along with vnf-name and vnf-instance-id)";\r
+            type string;\r
+         }\r
+         leaf vnf-name {\r
             type string;\r
          }\r
          uses onap-model-information;\r
@@ -319,11 +454,9 @@ module GENERIC-RESOURCE-API {
    grouping vnf-request-input {\r
       container vnf-request-input {\r
          leaf request-version {\r
-            description "keep this? e.g. 1702";\r
             type string;\r
          }\r
          leaf vnf-name {\r
-            description "in Pats vnf submodule, contained within vnf-instance-topology-identifier (along with vnf-model-id and vnf-instance-id)";\r
             type string;\r
          }\r
          uses region-identifier;\r
@@ -333,6 +466,13 @@ module GENERIC-RESOURCE-API {
                uses vnf-network-data;\r
             }\r
          }\r
+         list vnf-network-instance-group-ids {\r
+            key "vnf-network-instance-group-id";\r
+            leaf vnf-network-instance-group-id {\r
+               description "List of vnf network-instance-group";\r
+               type string;\r
+            }\r
+         }\r
          container vnf-input-parameters {\r
             uses param;\r
          }\r
@@ -347,6 +487,10 @@ module GENERIC-RESOURCE-API {
          container vnf-parameters-data {\r
             uses param;\r
          }\r
+         leaf sdnc-generated-cloud-resources {\r
+            description "Indicate if source is sdnc generated cloud param";\r
+            type boolean;\r
+         }\r
       }\r
    }\r
    grouping vnf-topology-identifier-structure {\r
@@ -380,7 +524,7 @@ module GENERIC-RESOURCE-API {
    grouping vnf-resource-assignments {\r
       container vnf-resource-assignments {\r
          leaf vnf-status {\r
-            description "Do we need this?Orchestration status from AAI - to be set by SDNCWill not be used for vIPR.";\r
+            description "Orchestration status from AAI - to be set by SDNC";\r
             type string;\r
          }\r
          container availability-zones {\r
@@ -425,7 +569,19 @@ module GENERIC-RESOURCE-API {
       }\r
       container subnets-data {\r
          list subnet-data {\r
-            key "ip-version";\r
+            key "sdnc-subnet-id";\r
+            leaf sdnc-subnet-id {\r
+               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
+               type string;\r
+            }\r
+            leaf subnet-role {\r
+               description "Subnet Role for the subnet";\r
+               type string;\r
+            }\r
+            leaf subnet-name {\r
+               description "Populated for preload only";\r
+               type string;\r
+            }\r
             leaf ip-version {\r
                description "Should be ipv4 or ipv6";\r
                type string;\r
@@ -434,8 +590,36 @@ module GENERIC-RESOURCE-API {
                description "subnet UUID to be passed into the HEAT template";\r
                type string;\r
             }\r
+            leaf dhcp-enabled {\r
+               description "Indicator to use this subnet for  DHCP ";\r
+               type enumeration {\r
+                  enum "Y";\r
+                  enum "N";\r
+               }\r
+            }\r
+            leaf network-start-address {\r
+               description "start-address of the subnet";\r
+               type inet:ip-address;\r
+            }\r
+            leaf gateway-address {\r
+               description "subnet gateway address";\r
+               type inet:ip-address;\r
+            }\r
+            leaf cidr-mask {\r
+               description "cidr mask";\r
+               type string;\r
+            }\r
          }\r
       }\r
+      leaf is-trunked {\r
+          type boolean;\r
+       }\r
+       leaf segmentation-id {\r
+          type string;\r
+       }\r
+       container related-networks {\r
+          uses related-network;\r
+       }\r
    }\r
    grouping vnf-level-oper-status {\r
       container vnf-level-oper-status {\r
@@ -458,6 +642,10 @@ module GENERIC-RESOURCE-API {
          leaf vf-module-type {\r
             type string;\r
          }\r
+         leaf from-preload {\r
+            description "Indicates if source is preload data";\r
+            type boolean;\r
+         }\r
          uses onap-model-information;\r
       }\r
    }\r
@@ -485,6 +673,10 @@ module GENERIC-RESOURCE-API {
          container vf-module-parameters {\r
             uses param;\r
          }\r
+         leaf sdnc-generated-cloud-resources {\r
+            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
+            type boolean;\r
+         }\r
       }\r
    }\r
    grouping vf-module-topology-identifier {\r
@@ -498,7 +690,6 @@ module GENERIC-RESOURCE-API {
             type string;\r
          }\r
          leaf vf-module-type {\r
-            description "In Pats model referred to as model-id";\r
             type string;\r
          }\r
       }\r
@@ -506,7 +697,7 @@ module GENERIC-RESOURCE-API {
    grouping vf-module-assignments {\r
       container vf-module-assignments {\r
          leaf vf-module-status {\r
-            description "Do we need this?Orchestration status from AAI - to be set by SDNCNot being used for vIPR.";\r
+            description "Orchestration status from AAI - to be set by SDNC";\r
             type string;\r
          }\r
          container vms {\r
@@ -515,6 +706,22 @@ module GENERIC-RESOURCE-API {
                uses vm-topology-data;\r
             }\r
          }\r
+         uses vlan-vnfc-instance-groups;\r
+         container dhcp-subnet-assignments {\r
+            list dhcp-subnet-assignment {\r
+               key "neutron-subnet-id";\r
+               leaf neutron-subnet-id {\r
+                  description "Same as subnet-id in subnet-data structure";\r
+                  type string;\r
+               }\r
+               leaf network-role {\r
+                  type string;\r
+               }\r
+               leaf ip-version {\r
+                  type string;\r
+               }\r
+            }\r
+         }\r
       }\r
    }\r
    grouping vm-topology-data {\r
@@ -522,6 +729,7 @@ module GENERIC-RESOURCE-API {
          type string;\r
          mandatory true;\r
       }\r
+      uses onap-model-information;\r
       leaf nfc-naming-code {\r
          description "used in vm naming(draft 29: changed from nfc-code)";\r
          type string;\r
@@ -535,10 +743,18 @@ module GENERIC-RESOURCE-API {
       }\r
       container vm-names {\r
          leaf-list vm-name {\r
-            description "ordered-by: user";\r
             type string;\r
             ordered-by user;\r
          }\r
+         list vnfc-names {\r
+            key "vnfc-name";\r
+            leaf vnfc-name {\r
+               type string;\r
+            }\r
+            container vnfc-networks {\r
+               uses vnfc-network-data;\r
+            }\r
+         }\r
       }\r
       container vm-networks {\r
          list vm-network {\r
@@ -547,6 +763,82 @@ module GENERIC-RESOURCE-API {
          }\r
       }\r
    }\r
+   grouping vnfc-network-data {\r
+      list vnfc-network-data {\r
+         key "vnfc-network-role";\r
+         leaf vnfc-network-role {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf vnfc-type {\r
+            type string;\r
+         }\r
+         uses connection-point;\r
+         container vnfc-ports {\r
+            list vnfc-port {\r
+               key "vnfc-port-id";\r
+               leaf vnfc-port-id {\r
+                  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
+                  type string;\r
+                  mandatory true;\r
+               }\r
+               leaf common-sub-interface-role {\r
+                  description "If sub-interfaces have common interface role (network role)";\r
+                  type string;\r
+               }\r
+               container vnic-sub-interfaces {\r
+                  uses sub-interface-network-data;\r
+               }\r
+            }\r
+         }\r
+         list vnfc-subnet {\r
+            key "vnfc-subnet-role";\r
+            leaf vnfc-subnet-role {\r
+               description "Default value if subnet role is not defined.";\r
+               type string;\r
+               mandatory true;\r
+            }\r
+            list vnfc-ip-assignments {\r
+               key "vnfc-address-family";\r
+               leaf vnfc-address-family {\r
+                  description "indicates if this is IpV4 or IpV6";\r
+                  type enumeration {\r
+                     enum "ipv4";\r
+                     enum "ipv6";\r
+                  }\r
+               }\r
+               leaf vnfc-subnet-dhcp {\r
+                  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
+                  type enumeration {\r
+                     enum "Y";\r
+                     enum "N";\r
+                  }\r
+               }\r
+               leaf vnfc-subnet-ip-count {\r
+                  description "The number of IP addresses to be assigned per vnfc for this subnet role";\r
+                  type uint8;\r
+               }\r
+               list vnfc-subnet-ip {\r
+                  key "vnfc-ip-address";\r
+                  leaf vnfc-ip-address {\r
+                     description "Either IpV4 IP or IpV6 IP addresses should be present";\r
+                     type inet:ip-address;\r
+                  }\r
+                  leaf vnfc-client-key {\r
+                     type string;\r
+                  }\r
+                  leaf ip-type {\r
+                     description "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. ";\r
+                     type enumeration {\r
+                        enum "FIXED";\r
+                        enum "VIP";\r
+                     }\r
+                  }\r
+               }\r
+            }\r
+         }\r
+      }\r
+   }\r
    grouping vm-network-data {\r
       leaf network-role {\r
          description "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF";\r
@@ -576,7 +868,7 @@ module GENERIC-RESOURCE-API {
             }\r
             container network-ips {\r
                leaf-list network-ip {\r
-                  description "List of assigned ip addresses of type ip-version on a network. Is there a way to specify  format to indicate ipv4 or ipv6 format?";\r
+                  description "List of assigned ip addresses of type ip-version on a network";\r
                   type string;\r
                   ordered-by user;\r
                }\r
@@ -631,6 +923,15 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
       }\r
+      leaf is-trunked {\r
+         type boolean;\r
+      }\r
+      leaf segmentation-id {\r
+         type string;\r
+      }\r
+      container related-networks {\r
+         uses related-network;\r
+      }\r
    }\r
    grouping vf-module-level-oper-status {\r
       container vf-module-level-oper-status {\r
@@ -650,88 +951,719 @@ module GENERIC-RESOURCE-API {
          type string;\r
       }\r
    }\r
-   grouping contrail-route-operation-information {\r
+   grouping forwarding-path-operation-information {\r
       uses sdnc-request-header;\r
       uses request-information;\r
       uses service-information;\r
-      uses allotted-resource-information;\r
-      uses contrail-route-request-input;\r
-   }\r
-   grouping contrail-route-request-input {\r
-      container contrail-route-request-input {\r
-         container source-network {\r
-            uses network-info;\r
-         }\r
-         container dest-network {\r
-            uses network-info;\r
-         }\r
-         container contrail-applied-service-info {\r
-            leaf service-instance-id {\r
-               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
-               type string;\r
-            }\r
-            leaf contrail-fqdn {\r
-               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
+      uses forwarding-path-request-input;\r
+   }\r
+   grouping forwarding-path-request-input {\r
+      container forwarding-path-request-input {\r
+         list forwarding-paths {\r
+            key "forwarding-path-name";\r
+            leaf forwarding-path-name {\r
+               description "Forwarding-path-name from tosca-model. ";\r
                type string;\r
+               mandatory true;\r
             }\r
+            uses onap-model-information;\r
          }\r
-         container contrail-route-input-parameters {\r
-            uses param;\r
+      }\r
+   }\r
+   grouping forwarding-path-information {\r
+      leaf forwarding-path-name {\r
+         description "Fowarding-path name from TOSCA model, or name generated by SDNC";\r
+         type string;\r
+      }\r
+      leaf forwarding-path-type {\r
+         description "Based on MySQL Forwarding_Path tables path_type value from related TOSCA model";\r
+         type enumeration {\r
+            enum "VNF";\r
+            enum "Service";\r
+         }\r
+      }\r
+      uses onap-model-information;\r
+      container service-paths {\r
+         list service-path {\r
+            key "service-path-instance-id";\r
+            uses service-path-information;\r
          }\r
       }\r
    }\r
-   grouping network-info {\r
-      leaf network-id {\r
+   grouping service-path-information {\r
+      leaf service-path-instance-id {\r
+         description "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition";\r
          type string;\r
       }\r
-      leaf network-role {\r
+      leaf service-path-instance-name {\r
+         description "A unique name generated by SDNC ( forwarding-path-name + service-path-instance-id )";\r
+         type string;\r
+      }\r
+      leaf version {\r
+         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
          type string;\r
       }\r
+      list service {\r
+         key "service-instance-id";\r
+         leaf service-instance-id {\r
+            description "service-instance-id of each service-instance in the service-path-instance";\r
+            type string;\r
+         }\r
+         leaf service-path-sequence-id {\r
+            description "e.g. S1S2S3S5seq id=1  S1-S2seq id=2  S2S3seq id=3  S3S5Incremental integer value";\r
+            type uint32;\r
+         }\r
+         container vnfs {\r
+            list vnf {\r
+               key "vnf-instance-id";\r
+               uses vnf-path-information;\r
+            }\r
+         }\r
+      }\r
    }\r
-   grouping contrail-route-topology {\r
-      container contrail-route-topology {\r
-         uses allotted-resource-identifiers;\r
-         uses onap-model-information;\r
-         uses contrail-route-assignments;\r
-         container contrail-route-parameters {\r
-            uses param;\r
+   grouping vnf-path-information {\r
+      leaf vnf-instance-id {\r
+         description "VNF instance ID in the path";\r
+         type string;\r
+      }\r
+      leaf vnf-path-sequence-id {\r
+         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
+         type uint32;\r
+      }\r
+      leaf left-network-name {\r
+         description "Every VNF instance in the path is connected to one or two VNFs.";\r
+         type string;\r
+      }\r
+      leaf left-network-role {\r
+         type string;\r
+      }\r
+      leaf right-network-name {\r
+         type string;\r
+      }\r
+      leaf right-network-role {\r
+         type string;\r
+      }\r
+      container vf-module-instance {\r
+         leaf vf-module-id {\r
+            type string;\r
+         }\r
+         leaf vf-module-name {\r
+            type string;\r
          }\r
       }\r
    }\r
-   grouping contrail-route-assignments {\r
-      container contrail-route-assignments {\r
-         leaf fq-name {\r
-            description "The Contrail fq-name of the network policy";\r
+   grouping forwarding-path-level-oper-status { \r
+      container forwarding-path-level-oper-status { \r
+         uses oper-status-data; \r
+      } \r
+   }\r
+   grouping configuration-info {\r
+      leaf configuration-id {\r
+         type string;\r
+      }\r
+      leaf configuration-type {\r
+         description "Not an enum, but expected values are port-mirror-configuration, , vlan-network-receptor";\r
+         type string;\r
+      }\r
+      leaf configuration-sub-type {\r
+         description "Not an enum, but expected values are vprobe and pprobe";\r
+         type string;\r
+      }\r
+      leaf configuration-topology-link {\r
+         description "Pointer to the configurations topology";\r
+         type string;\r
+      }\r
+   }\r
+   grouping vnfc-instance-group {\r
+      list vnfc-instance-group {\r
+         key "instance-group-role nfc-naming-code configuration-id";\r
+         leaf instance-group-role {\r
+            description "i.e.TSBC_VNFC_group";\r
             type string;\r
+            mandatory true;\r
          }\r
-         leaf contrail-id {\r
-            description "The ID assigned by Contrail to the network-policy (one for one with the fq-name)";\r
+         leaf nfc-naming-code {\r
+            description "Set to nfc-naming-code from A&AI";\r
             type string;\r
+            mandatory true;\r
          }\r
-         container source-network {\r
-            uses network-info;\r
+         leaf configuration-id {\r
+            type string;\r
+            mandatory true;\r
          }\r
-         container dest-network {\r
-            uses network-info;\r
+         leaf group-type {\r
+            description " port-mirror-source or  port-mirror-dest";\r
+            type string;\r
          }\r
-         container contrail-applied-service {\r
-            leaf service-instance-id {\r
-               description "The service-instance-id of the vnf from which the contrail applied service is coming";\r
+         uses vnfc-objects;\r
+      }\r
+   }\r
+   grouping vnfc-objects {\r
+      container vnfc-objects {\r
+         list vnfc-object {\r
+            key "vnfc-key";\r
+            leaf vnfc-key {\r
+               type string;\r
+            }\r
+            leaf vnfc-name {\r
+               description "Vnfc name as key in A&AI";\r
+               type string;\r
+            }\r
+            leaf vm-type {\r
                type string;\r
             }\r
             leaf vnf-id {\r
-               description "The vnf representing the contrail applied service";\r
                type string;\r
             }\r
-            leaf contrail-fqdn {\r
-               description "This is the fq-name of the Contrail service instance through which the route is passing.";\r
+            leaf vserver-name {\r
+               type string;\r
+            }\r
+            leaf vserver-id {\r
+               type string;\r
+            }\r
+            container vnics {\r
+               list vnic {\r
+                  key "vnic-port-name";\r
+                  leaf vnic-port-name {\r
+                     type string;\r
+                  }\r
+                  leaf vnic-port-id {\r
+                     type string;\r
+                  }\r
+                  container capacity {\r
+                     leaf vnic-capacity {\r
+                        type uint32;\r
+                     }\r
+                     leaf used-capacity {\r
+                        description "Updated for destination port when source port is mapped/unmapped.";\r
+                        type uint32;\r
+                     }\r
+                  }\r
+                  container vnic-ip-addresses {\r
+                     uses ip-addresses;\r
+                  }\r
+               }\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping vnfcs {\r
+      container vnfcs {\r
+         list vnfc {\r
+            key "vnfc-name";\r
+            leaf vnfc-name {\r
+               description "Vnfc name as key in A&AI";\r
+               type string;\r
+            }\r
+            leaf vserver-name {\r
+               type string;\r
+            }\r
+            leaf vserver-id {\r
+               type string;\r
+            }\r
+            uses vnics;\r
+         }\r
+      }\r
+   }\r
+   grouping vnics {\r
+      container vnics {\r
+         list vnic {\r
+            key "vnic-port-name";\r
+            leaf vnic-port-name {\r
+               type string;\r
+            }\r
+            leaf vnic-port-id {\r
+               type string;\r
+            }\r
+            uses sub-interfaces;\r
+         }\r
+      }\r
+   }\r
+   grouping sub-interfaces {\r
+      container sub-interfaces {\r
+         list sub-interface {\r
+            key "sub-interface-port-name";\r
+            leaf sub-interface-port-name {\r
+               type string;\r
+            }\r
+            leaf sub-interface-port-id {\r
+               type string;\r
+            }\r
+            container sub-interface-ip-addresses {\r
+               uses ip-addresses;\r
+            }\r
+            uses vlan-tags;\r
+            container sub-interface-network {\r
+               leaf network-name {\r
+                  type string;\r
+               }\r
+               leaf network-id {\r
+                  type string;\r
+               }\r
+            }\r
+            leaf sub-interface-status {\r
+               description "NULL, unassigned, assigned";\r
+               type string;\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping vlan-tags {\r
+      container vlan-tags {\r
+         leaf vlan-interface {\r
+            description "A&AI Key";\r
+            type string;\r
+         }\r
+         leaf upper-tag-id {\r
+            type uint32;\r
+         }\r
+         leaf lower-tag-id {\r
+            type uint32;\r
+         }\r
+         leaf is-private {\r
+            type boolean;\r
+         }\r
+      }\r
+   }\r
+   grouping vlan-vnfc-instance-groups {\r
+      container vlan-vnfc-instance-groups {\r
+         list vlan-vnfc-instance-group {\r
+            key "instance-group-id";\r
+            leaf instance-group-id {\r
+               description "A&AI ID";\r
+               type string;\r
+               mandatory true;\r
+            }\r
+            leaf instance-group-function {\r
+               type string;\r
+            }\r
+            leaf vnf-id {\r
+               type string;\r
+            }\r
+            container vnfcs {\r
+               list vnfc {\r
+                  key "vnfc-name";\r
+                  leaf vnfc-name {\r
+                     type string;\r
+                  }\r
+                  uses vnic-groups;\r
+               }\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping vnic-groups {\r
+      container vnic-groups {\r
+         list vnic-group {\r
+            key "vnic-interface-role";\r
+            leaf vnic-interface-role {\r
+               description "Same as network-role of network where vnic is connected";\r
+               type string;\r
+               mandatory true;\r
+            }\r
+            leaf network-instance-group-function {\r
+               description "network-instance-Group-function for network collection where vnics with vnic-interface-role will connect";\r
+               type string;\r
+            } \r
+            leaf vlan-assignment-policy-name {\r
+               description "Policy name in ASDC model & policy definition in Policy Engine";\r
+               type string;\r
+            }\r
+            leaf vlan-tag-index-next {\r
+               description "Next tag to be assigned";\r
+               type uint32;\r
+            }\r
+            container vlan-common-ip-addresses {\r
+               uses ip-addresses;\r
+            }\r
+            container vlan-vnics {\r
+               list vlan-vnic {\r
+                  key "vnic-port-id";\r
+                  leaf vnic-port-id {\r
+                     type string;\r
+                     mandatory true;\r
+                  }\r
+                  container vnic-sub-interfaces {\r
+                     uses sub-interface-network-data;\r
+                  }\r
+               }\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping vnf-network-collection {\r
+      list vnf-network-collection {\r
+         key "network-instance-group-function";\r
+         leaf network-instance-group-function {\r
+            description "Network Instance-Group function in A&AI";\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf network-instance-group-id {\r
+            description "Network Instance-Group id in A&AI";\r
+            type string;\r
+         }\r
+         leaf network-collection-service-instance-id {\r
+            description "Service-instance-id of service that created the network collection";\r
+            type string;\r
+         }\r
+         leaf network-collection-customization-uuid {\r
+            description "network-collection-customization-uuid stored in Network IsntanceGroup.customization-uuid in A&AI";\r
+            type string;\r
+         }\r
+         container networks {\r
+            list network {\r
+               key "network-id";\r
+               leaf network-id {\r
+                  description "Index into network-topology-identifier structure";\r
+                  type string;\r
+                  mandatory true;\r
+               }\r
+               leaf neutron-network-id {\r
+                  description "Neutron-network-id assigned by PO/RO";\r
+                  type string;\r
+               }\r
+            }\r
+         }\r
+         container vnf-floating-ip {\r
+            uses ip-addresses;\r
+         }\r
+      }\r
+   }\r
+   grouping vnf-sub-interface-group {\r
+      list vnf-sub-interface-group {\r
+         key "vnfc-instance-group-function network-instance-group-function parent-port-role";\r
+         leaf vnfc-instance-group-function {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf network-instance-group-function {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf parent-port-role {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         uses vnfcs;\r
+         container customer-bonding-requests {\r
+            list customer-bonding-request {\r
+               key "configuration-id";\r
+               leaf configuration-id {\r
+                  description "e.g. vlan network receptor configuration id";\r
+                  type string;\r
+               }\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping sub-interface-network-data {\r
+      list sub-interface-network-data {\r
+         key "network-id";\r
+         leaf network-id {\r
+            description "Subinterface network id (UUID in A&AI)";\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf neutron-network-id {\r
+            description "Neutron network id assigned by PO/RP";\r
+            type string;\r
+         }\r
+         leaf network-name {\r
+            description "Subinterface network name";\r
+            type uint32;\r
+         }\r
+         leaf vlan-tag-id {\r
+            description "Vlan tag assigned to subinterface port";\r
+            type uint32;\r
+         }\r
+         leaf network-role {\r
+            description "e.g. untrusted ";\r
+            type string;\r
+         }\r
+         leaf network-role-tag {\r
+            description "Assuming HEAT template network role tag parameter - not used";\r
+            type string;\r
+         }\r
+         container network-information-items {\r
+            list network-information-item {\r
+               key "ip-version";\r
+               leaf ip-version {\r
+                  description "Use ipv4 or ipv6";\r
+                  type string;\r
+               }\r
+               leaf use-dhcp {\r
+                  description "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging";\r
+                  type enumeration {\r
+                     enum "Y";\r
+                     enum "N";\r
+                  }\r
+               }\r
+               leaf ip-count {\r
+                  description "The number of ip addresses to be assigned per vm for this network role";\r
+                  type uint8;\r
+               }\r
+               container network-ips {\r
+                  leaf-list network-ip {\r
+                     description "List of assigned ip addresses of type ip-version on a network.";\r
+                     type inet:ip-address;\r
+                     ordered-by user;\r
+                  }\r
+               }\r
+            }\r
+         }\r
+         container floating-ips {\r
+            leaf-list floating-ip-v4 {\r
+               description "Floating ipv4 for VMs of a given type on this network";\r
+               type inet:ip-address;\r
+               ordered-by user;\r
+            }\r
+            leaf-list floating-ip-v6 {\r
+               description "Floating ipv6 for VMs of a given type on this network";\r
+               type inet:ipv6-address;\r
+               ordered-by user;\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping vnf-cloud-param {\r
+      leaf service-instance-id {\r
+         type string;\r
+      }\r
+      leaf service-instance-name {\r
+         type string;\r
+      }\r
+      list vnf {\r
+         key "vnf-id";\r
+         leaf vnf-id {\r
+            type string;\r
+         }\r
+         leaf vnf-name {\r
+            type string;\r
+         }\r
+         uses param;\r
+         list vf-module {\r
+            key "vf-module-id";\r
+            leaf vf-module-id {\r
+               type string;\r
+            }\r
+            uses param;\r
+         }\r
+      }\r
+   }\r
+   grouping vnf-get-resource-request-input-data {\r
+      list vnf {\r
+         key "vnf-id";\r
+         leaf vnf-id {\r
+            type string;\r
+         }\r
+         list vf-module {\r
+            key "vf-module-id";\r
+            leaf vf-module-id {\r
+               type string;\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping license-information {\r
+      container license-information {\r
+         list entitlement-pool-list {\r
+            key "entitlement-pool-uuid action";\r
+            leaf entitlement-pool-uuid {\r
+               type string;\r
+               mandatory true;\r
+            }\r
+            leaf action {\r
+               type string;\r
+               mandatory true;\r
+            }\r
+            leaf entitlement-pool-invariant-uuid {\r
+               type string;\r
+            }\r
+            leaf entitlement-uuid {\r
+               description "assigned by ALTS";\r
+               type string;\r
+            }\r
+         }\r
+         list license-key-group-list {\r
+            key "license-key-group-uuid action";\r
+            leaf license-key-group-uuid {\r
+               type string;\r
+               mandatory true;\r
+            }\r
+            leaf action {\r
+               type string;\r
+               mandatory true;\r
+            }\r
+            leaf license-key-group-invariant-uuid {\r
+               type string;\r
+            }\r
+            leaf license-key {\r
+               description "assigned by ALTS";\r
+               type string;\r
+            }\r
+            leaf license-uuid {\r
+               description "assigned by ALTS";\r
+               type string;\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping related-network {\r
+      list related-network {\r
+         key "network-id";\r
+         leaf network-id {\r
+            description "Key to l3-network object";\r
+            type string;\r
+         }\r
+         leaf network-role {\r
+            type string;\r
+         }\r
+         uses vlan-tags;\r
+      }\r
+   }\r
+   grouping connection-point {\r
+      container connection-point {\r
+         leaf connection-point-id {\r
+            description "Key to CP object in A&AI";\r
+            type string;\r
+         }\r
+         leaf port-id {\r
+            description "port-index when multiple CPs connect to same network. Default zero (0)";\r
+            type string;\r
+         }\r
+         list vlan-data {\r
+            key "vlan-uuid";\r
+            leaf vlan-uuid {\r
+               description "Key to vlan-tag uuid object in A&AI Generated by vlan mS";\r
+               type string;\r
+            }\r
+            leaf vlan-tag-id {\r
+               type string;\r
+            }\r
+            leaf vlan-tag-description {\r
+               type string;\r
+            }\r
+            leaf vlan-role {\r
+               description "Inner/Outer roles";\r
+               type string;\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping aggregate-routes {\r
+      list aggregate-routes {\r
+         key "route-id";\r
+         leaf route-id {\r
+            description "Unique id";\r
+            type string;\r
+         }\r
+         leaf start-address {\r
+            type inet:ip-address;\r
+         }\r
+         leaf cidr-mask {\r
+            type string;\r
+         }\r
+         leaf ip-version {\r
+            description "Use values 4 or 6.";\r
+            type string;\r
+         }\r
+      }\r
+   }\r
+   grouping pnf-information {\r
+      container pnf-information {\r
+         leaf pnf-name {\r
+            description "Key for A&AI query";\r
+            type string;\r
+         }\r
+         leaf pnf-type {\r
+            type string;\r
+         }\r
+         uses onap-model-information;\r
+      }\r
+   }\r
+   grouping contrail-route-operation-information {\r
+      uses sdnc-request-header;\r
+      uses request-information;\r
+      uses service-information;\r
+      uses allotted-resource-information;\r
+      uses contrail-route-request-input;\r
+   }\r
+   grouping contrail-route-request-input {\r
+      container contrail-route-request-input {\r
+         container source-network {\r
+            uses network-info;\r
+         }\r
+         container dest-network {\r
+            uses network-info;\r
+         }\r
+         container contrail-applied-service-info {\r
+            leaf service-instance-id {\r
+               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
+               type string;\r
+            }\r
+            leaf contrail-fqdn {\r
+               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
                type string;\r
             }\r
          }\r
-         leaf vlan-tag {\r
-            description "Contrail-assigned vlan-tag to the vipr vm interface for this route.";\r
-            type string;\r
-         }\r
+         container contrail-route-input-parameters {\r
+            uses param;\r
+         }\r
+      }\r
+   }\r
+   grouping network-info {\r
+      leaf network-id {\r
+         type string;\r
+      }\r
+      leaf network-role {\r
+         type string;\r
+      }\r
+   }\r
+   grouping contrail-route-topology {\r
+      container contrail-route-topology {\r
+         uses allotted-resource-identifiers;\r
+         uses onap-model-information;\r
+         uses contrail-route-assignments;\r
+         container contrail-route-parameters {\r
+            uses param;\r
+         }\r
+      }\r
+   }\r
+   grouping contrail-route-assignments {\r
+      container contrail-route-assignments {\r
+         leaf fq-name {\r
+            description "The Contrail fq-name of the network policy";\r
+            type string;\r
+         }\r
+         leaf contrail-id {\r
+            description "The ID assigned by Contrail to the network-policy (one for one with the fq-name)";\r
+            type string;\r
+         }\r
+         container source-network {\r
+            uses network-info;\r
+         }\r
+         container dest-network {\r
+            uses network-info;\r
+         }\r
+         container contrail-applied-service {\r
+            leaf service-instance-id {\r
+               description "The service-instance-id of the vnf from which the contrail applied service is coming";\r
+               type string;\r
+            }\r
+            leaf vnf-id {\r
+               description "The vnf representing the contrail applied service";\r
+               type string;\r
+            }\r
+            leaf contrail-fqdn {\r
+               description "This is the fq-name of the Contrail service instance through which the route is passing.";\r
+               type string;\r
+            }\r
+         }\r
+         leaf vlan-tag {\r
+            description "Contrail-assigned vlan-tag to the vipr vm interface for this route.";\r
+            type string;\r
+         }\r
       }\r
    }\r
    grouping security-zone-operation-information {\r
@@ -798,6 +1730,253 @@ module GENERIC-RESOURCE-API {
          }\r
       }\r
    }\r
+   grouping port-mirror-topology-operation-information {\r
+      uses sdnc-request-header;\r
+      uses request-information;\r
+      uses service-information;\r
+      uses configuration-information;\r
+      uses port-mirror-configuration-request-input;\r
+   }\r
+   grouping port-mirror-configuration-request-input {\r
+      container port-mirror-configuration-request-input {\r
+         container source-port {\r
+            uses port-info;\r
+            leaf source-port-id {\r
+               description "needed for srv-action=disable/enable";\r
+               type string;\r
+            }\r
+         }\r
+         container dest-port {\r
+            uses port-info;\r
+         }\r
+         uses region-identifier;\r
+         container port-mirror-configuration-input-parameters {\r
+            uses param;\r
+         }\r
+      }\r
+   }\r
+   grouping port-info {\r
+      leaf service-instance-id {\r
+         description "May not be need.";\r
+         type string;\r
+      }\r
+      uses pnf-information;\r
+      uses vnf-information;\r
+   }\r
+   grouping port-mirror-configuration-topology {\r
+      container port-mirror-configuration-topology {\r
+         uses configuration-identifiers;\r
+         uses onap-model-information;\r
+         uses port-mirror-configuration-assignments;\r
+         container port-mirror-configuration-parameters {\r
+            uses param;\r
+         }\r
+      }\r
+   }\r
+   grouping port-mirror-configuration-assignments {\r
+      container port-mirror-configuration-assignments {\r
+         container contrail-vmi-params {\r
+            uses param;\r
+         }\r
+         leaf vnics-group-id {\r
+            type string;\r
+         }\r
+         leaf owning-entity {\r
+            type string;\r
+         }\r
+         leaf tenant-context {\r
+            description "From tenant object in A&AI";\r
+            type string;\r
+         }\r
+         leaf tenant {\r
+            description "Tenant name from A&AI for source VNF";\r
+            type string;\r
+         }\r
+         leaf tenant-id {\r
+            description "tenant-id from A&AI for source VNF";\r
+            type string;\r
+         }\r
+         leaf dest-tenant {\r
+            description "Tenant name from A&AI for destination VNF";\r
+            type string;\r
+         }\r
+         leaf dest-tenant-id {\r
+            description "tenant-id from A&AI for destination VNF";\r
+            type string;\r
+         }\r
+         leaf cloud-region-id {\r
+            type string;\r
+         }\r
+         leaf cloud-owner {\r
+            type string;\r
+         }\r
+         leaf dest-network-fqdn {\r
+            type string;\r
+         }\r
+         leaf source-network-fqdn {\r
+            type string;\r
+         }\r
+         leaf source-capacity {\r
+            description "Source port pps (packets per second) rating from tosca model";\r
+            type uint32;\r
+         }\r
+         leaf source-vnf-id {\r
+            type string;\r
+         }\r
+         leaf dest-vnf-id {\r
+            description "For vProbe";\r
+            type string;\r
+         }\r
+         leaf dest-pnf-name {\r
+            description "For pProbe";\r
+            type string;\r
+         }\r
+         leaf dest-p-interface {\r
+            description "For pProbe; from policy manager";\r
+            type string;\r
+         }\r
+         leaf dest-pnf-port-policy-name {\r
+            description "For pProbe; from tosca model";\r
+            type string;\r
+         }\r
+         leaf probe-type {\r
+            description "vprobe or pprobe; derived from configuration-information.configuration-sub-type";\r
+            type string;\r
+         }\r
+         leaf route-allotted-resource-id {\r
+            description "For vProbe";\r
+            type string;\r
+         }\r
+         container source-vnfc-instance-group-id {\r
+            leaf service-instance-id {\r
+               type string;\r
+            }\r
+            leaf nfc-naming-code {\r
+               type string;\r
+            }\r
+            leaf instance-group-role {\r
+               type string;\r
+            }\r
+            leaf configuration-id {\r
+               type string;\r
+            }\r
+         }\r
+         container dest-vnfc-instance-group-id {\r
+            leaf service-instance-id {\r
+               type string;\r
+            }\r
+            leaf nfc-naming-code {\r
+               type string;\r
+            }\r
+            leaf instance-group-role {\r
+               type string;\r
+            }\r
+            leaf configuration-id {\r
+               type string;\r
+            }\r
+         }\r
+         container source-to-dest-maps {\r
+            list source-to-dest-map {\r
+               key "source-port-id";\r
+               leaf source-port-id {\r
+                  type string;\r
+                  mandatory true;\r
+               }\r
+               leaf source-port-name {\r
+                  type string;\r
+               }\r
+               leaf source-vserver-id {\r
+                  type string;\r
+               }\r
+               leaf dest-vserver-id {\r
+                  type string;\r
+               }\r
+               leaf dest-port-id {\r
+                  type string;\r
+               }\r
+               leaf dest-port-name {\r
+                  type string;\r
+               }\r
+               leaf link-name {\r
+                  type string;\r
+               }\r
+               container dest-ip-addresses {\r
+                  uses ip-addresses;\r
+               }\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping gc-topology-operation-information {\r
+      uses sdnc-request-header;\r
+      uses request-information;\r
+      uses service-information;\r
+      uses configuration-information;\r
+      uses gc-request-input;\r
+   }\r
+   grouping gc-request-input {\r
+      container gc-request-input {\r
+         leaf vnf-id {\r
+            type string;\r
+         }\r
+         leaf vf-module-id {\r
+            description "This is mandatory in case of rebuild";\r
+            type string;\r
+         }\r
+         container input-parameters {\r
+            uses param;\r
+         }\r
+         leaf rebuild {\r
+            description "Value will indicate what to rebuild";\r
+            type string;\r
+         }\r
+         list configuration-ids {\r
+            key "configuration-id";\r
+            leaf configuration-id {\r
+               type string;\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping vnr-parameters {\r
+      container vnr-parameters {\r
+         leaf vnf-id {\r
+            type string;\r
+         }\r
+         leaf vf-module-id {\r
+            description "This is mandatory in case of rebuild";\r
+            type string;\r
+         }\r
+         leaf vnf-service-instance-id {\r
+            type string;\r
+         }\r
+         leaf network-collection-service-instance-id {\r
+            description "service instance id that created network-collection";\r
+            type string;\r
+         }\r
+         leaf network-instance-group-id {\r
+            type string;\r
+         }\r
+         leaf network-id {\r
+            type string;\r
+         }\r
+         leaf vnfc-instance-group-function {\r
+            type string;\r
+         }\r
+         leaf network-instance-group-function {\r
+            type string;\r
+         }\r
+         leaf parent-port-role {\r
+            type string;\r
+         }\r
+         leaf upper-tag-id {\r
+            type uint32;\r
+         }\r
+         leaf lower-tag-id {\r
+            type uint32;\r
+         }\r
+      }\r
+   }\r
    grouping tunnelxconn-operation-information {\r
        uses sdnc-request-header;\r
        uses request-information;\r
@@ -806,8 +1985,11 @@ module GENERIC-RESOURCE-API {
        uses tunnelxconn-request-input;\r
    }\r
    grouping tunnelxconn-request-input {\r
-       leaf brg-wan-mac-address {\r
-           type string;\r
+\r
+       container tunnelxconn-request-input {\r
+           leaf brg-wan-mac-address {\r
+               type string;\r
+           }\r
        }\r
    }\r
    grouping tunnelxconn-topology {\r
@@ -821,18 +2003,24 @@ module GENERIC-RESOURCE-API {
        }\r
    }\r
    grouping tunnelxconn-assignments {\r
-       leaf vni {\r
-           description "The Network Controller will assign a VNI value from the associated vGMUX VNI pool";\r
-           type string;\r
-       }\r
-       leaf vgmux-bearer-ip {\r
-           description "The Network Controller will look up the vgmux bearer ip from the vgmux vf module";\r
-           type inet:ip-address;\r
-       }\r
-       leaf vgmux-lan-ip {\r
-           description "The Network Controller will look up the vgmux lan ip from the vgmux vg module";\r
-           type inet:ip-address;\r
-       }\r
+          container tunnelxconn-assignments {\r
+              leaf vni {\r
+                  description "The Network Controller will assign a VNI value from the associated vGMUX VNI pool";\r
+                  type string;\r
+              }\r
+              leaf vgmux-bearer-ip {\r
+                  description "The Network Controller will look up the vgmux bearer ip from the vgmux vf module";\r
+                  type inet:ip-address;\r
+              }\r
+              leaf vgmux-lan-ip {\r
+                  description "The Network Controller will look up the vgmux lan ip from the vgmux vg module";\r
+                  type inet:ip-address;\r
+              }\r
+              leaf vg-ip {\r
+                  description "The Network Controller will assign the VG IP address from local inventory";\r
+                  type inet:ip-address;\r
+              }\r
+          }\r
    }\r
    grouping brg-operation-information {\r
        uses sdnc-request-header;\r
@@ -842,14 +2030,16 @@ module GENERIC-RESOURCE-API {
        uses brg-request-input;\r
    }\r
    grouping brg-request-input {\r
-       leaf vgmux-bearer-ip {\r
-           type inet:ip-address;\r
-       }\r
-       leaf vni {\r
-           type string;\r
-       }\r
-       leaf brg-wan-ip-address {\r
-           type inet:ip-address;\r
+       container brg-request-input {\r
+           leaf vgmux-bearer-ip {\r
+               type inet:ip-address;\r
+           }\r
+           leaf vni {\r
+               type string;\r
+           }\r
+           leaf brg-wan-mac-address {\r
+               type string;\r
+           }\r
        }\r
    }\r
    grouping brg-topology {\r
@@ -863,9 +2053,78 @@ module GENERIC-RESOURCE-API {
        }\r
    }\r
    grouping brg-assignments {\r
-       leaf vbrg-wan-ip {\r
-           type inet:ip-address;\r
-       }\r
+          container brg-assignments {\r
+              leaf vbrg-wan-ip {\r
+                  type inet:ip-address;\r
+              }\r
+          }\r
+   }\r
+   grouping connection-attachment-operation-information {\r
+      uses sdnc-request-header;\r
+      uses request-information;\r
+      uses service-information;\r
+      uses allotted-resource-information;\r
+      uses connection-attachment-request-input;\r
+   }\r
+\r
+   grouping connection-attachment-request-input {\r
+      container connection-attachment-request-input {\r
+         uses param;\r
+      }\r
+   }\r
+\r
+   grouping connection-attachment-topology {\r
+      container connection-attachment-topology {\r
+         uses allotted-resource-identifiers;\r
+         uses onap-model-information;\r
+         uses connection-attachment-assignments;\r
+         container connection-attachment-parameters {\r
+            uses param;\r
+         }\r
+      }\r
+   }\r
+\r
+   grouping connection-attachment-assignments {\r
+      container connection-attachment-assignments {\r
+      }\r
+   }\r
+\r
+   grouping vnf-vnr-rebuild-data {\r
+      container vnf-vnr-rebuild-data {\r
+         leaf vnf-id {\r
+            type string;\r
+         }\r
+         leaf vnf-service-instance-id {\r
+            type string;\r
+         }\r
+         list vnrs-data {\r
+            key "configuration-id";\r
+            leaf configuration-id {\r
+               type string;\r
+            }\r
+            leaf network-instance-group-id {\r
+               type string;\r
+            }\r
+            leaf network-id {\r
+               type string;\r
+            }\r
+            leaf vnfc-instance-group-function {\r
+               type string;\r
+            }\r
+            leaf network-instance-group-function {\r
+               type string;\r
+            }\r
+            leaf parent-port-role {\r
+               type string;\r
+            }\r
+            leaf upper-tag-id {\r
+               type uint32;\r
+            }\r
+            leaf lower-tag-id {\r
+               type uint32;\r
+            }\r
+         }\r
+      }\r
    }\r
    grouping allotted-resource-information {\r
       container allotted-resource-information {\r
@@ -952,6 +2211,95 @@ module GENERIC-RESOURCE-API {
          }\r
       }\r
    }\r
+   grouping configuration-information {\r
+      container configuration-information {\r
+         leaf configuration-id {\r
+            type string;\r
+         }\r
+         leaf configuration-name {\r
+            type string;\r
+         }\r
+         leaf configuration-type {\r
+            description "Not an enum, but expected values are port-mirror-configuration, vlan-network-receptor";\r
+            type string;\r
+         }\r
+         leaf configuration-sub-type {\r
+            description "e.g. vprobe and pprobe when configuration-type=port-mirror-configuration";\r
+            type string;\r
+         }\r
+         uses onap-model-information;\r
+      }\r
+   }\r
+   grouping configuration-identifiers {\r
+      container configuration-identifiers {\r
+         leaf configuration-id {\r
+            type string;\r
+         }\r
+         leaf configuration-name {\r
+            type string;\r
+         }\r
+         leaf configuration-type {\r
+            description "Not an enum, but expected values are port-mirror-configuration.";\r
+            type string;\r
+         }\r
+         leaf configuration-sub-type {\r
+            description " vprobe and pprobe";\r
+            type string;\r
+         }\r
+         leaf parent-service-instance-id {\r
+            description "Service-instance-id of the parent service to which this resource belongs.";\r
+            type string;\r
+         }\r
+      }\r
+   }\r
+   grouping configuration-oper-status {\r
+      container configuration-oper-status {\r
+         uses oper-status-data;\r
+      }\r
+   }\r
+   grouping configuration-status {\r
+      container configuration-status {\r
+         leaf response-code {\r
+            type string;\r
+         }\r
+         leaf response-message {\r
+            type string;\r
+         }\r
+         leaf final-indicator {\r
+            type string;\r
+         }\r
+         leaf request-status {\r
+            type enumeration {\r
+               enum "synccomplete";\r
+               enum "asynccomplete";\r
+               enum "notifycomplete";\r
+            }\r
+         }\r
+         leaf action {\r
+            description "value would one of possible request-actions; match the list in service-data oper-status";\r
+            type string;\r
+         }\r
+         leaf rpc-name {\r
+            type string;\r
+         }\r
+         leaf rpc-action {\r
+            description "this is the svc-action from the incoming request";\r
+            type enumeration {\r
+               enum "assign";\r
+               enum "activate";\r
+               enum "create";\r
+               enum "disable";\r
+               enum "enable";\r
+               enum "delete";\r
+               enum "unassign";\r
+               enum "deactivate";\r
+            }\r
+         }\r
+         leaf response-timestamp {\r
+            type string;\r
+         }\r
+      }\r
+   }\r
    grouping topology-response-common {\r
       leaf svc-request-id {\r
          description "the request id from the request message for which this is the responseKeep as M";\r
@@ -977,7 +2325,7 @@ module GENERIC-RESOURCE-API {
             type string;\r
          }\r
          leaf svc-action {\r
-            description "Enumerated listThis is the rpcAction";\r
+            description "This is the rpcAction";\r
             type enumeration {\r
                enum "reserve";\r
                enum "assign";\r
@@ -989,6 +2337,11 @@ module GENERIC-RESOURCE-API {
                enum "deactivate";\r
                enum "unassign";\r
                enum "create";\r
+               enum "disable";\r
+               enum "enable";\r
+               enum "update";\r
+               enum "reoptimize";\r
+               enum "rebuild";\r
             }\r
          }\r
          leaf svc-notification-url {\r
@@ -1008,6 +2361,7 @@ module GENERIC-RESOURCE-API {
             type enumeration {\r
                enum "CreateNetworkInstance";\r
                enum "ActivateNetworkInstance";\r
+               enum "DeActivateNetworkInstance";\r
                enum "CreateServiceInstance";\r
                enum "DeleteServiceInstance";\r
                enum "DeleteNetworkInstance";\r
@@ -1023,6 +2377,57 @@ module GENERIC-RESOURCE-API {
                enum "DeleteSecurityZoneInstance";\r
                enum "ActivateDCINetworkInstance";\r
                enum "DeActivateDCINetworkInstance";\r
+               enum "CreateTunnelXConnInstance";\r
+               enum "DeleteTunnelXConnInstance";\r
+               enum "CreateBRGInstance";\r
+               enum "DeleteBRGInstance";\r
+               enum "CreateSOTNConnectivityInstance";\r
+               enum "ActivateSOTNConnectivityInstance";\r
+               enum "DeactivateSOTNConnectivityInstance";\r
+               enum "DeleteSOTNConnectivityInstance";\r
+               enum "CreateSOTNAttachmentInstance";\r
+               enum "ActivateSOTNAttachmentInstance";\r
+               enum "DeactivateSOTNAttachmentInstance";\r
+               enum "DeleteSOTNAttachmentInstance";\r
+               enum "CreateSiteInstance";\r
+               enum "ActivateSiteInstance";\r
+               enum "DeactivateSiteInstance";\r
+               enum "DeleteSiteInstance";\r
+               enum "CreatePortMirrorConfigurationInstance";\r
+               enum "DeletePortMirrorConfigurationInstance";\r
+               enum "ChangePortMirrorConfigurationInstance";\r
+               enum "CreateGenericConfigurationInstance";\r
+               enum "RebuildGenericConfigurationInstance";\r
+               enum "DeleteGenericConfigurationInstance";\r
+               enum "PreloadVfModuleRequest";\r
+               enum "DeletePreloadVfModuleRequest";\r
+               enum "PreloadNetworkRequest";\r
+               enum "DeletePreloadNetworkRequest";\r
+               enum "CreateForwardingPathInstance";\r
+               enum "DeleteForwardingPathInstance";\r
+               enum "UpdateForwardingPathInstance";\r
+               enum "CreateSDWANDeviceInstance";\r
+               enum "ActivateSDWANDeviceInstance";\r
+               enum "DeactivateSDWANDeviceInstance";\r
+               enum "DeleteSDWANDeviceInstance";\r
+               enum "CreateSDWANPortInstance";\r
+               enum "ActivateSDWANPortInstance";\r
+               enum "DeactivateSDWANPortInstance";\r
+               enum "DeleteSDWANPortInstance";\r
+               enum "ReoptimizeSOTNInstance";\r
+               enum "CreateSDWANLanPortInstance";\r
+               enum "ActivateSDWANLanPortInstance";\r
+               enum "DeactivateSDWANLanPortInstance";\r
+               enum "DeleteSDWANLanPortInstance";\r
+               enum "CreateSDWANVpnInstance";\r
+               enum "ActivateSDWANVpnInstance";\r
+               enum "DeactivateSDWANVpnInstance";\r
+               enum "DeleteSDWANVpnInstance";\r
+               enum "CreateSDWANSiteInstance";\r
+               enum "ActivateSDWANSiteInstance";\r
+               enum "DeactivateSDWANSiteInstance";\r
+               enum "DeleteSDWANSiteInstance";\r
+               enum "SdwanBandwidthChange";\r
             }\r
          }\r
          leaf source {\r
@@ -1093,6 +2498,10 @@ module GENERIC-RESOURCE-API {
          description "The AIC cloud region which maps to contrail versions";\r
          type string;\r
       }\r
+      leaf cloud-owner {\r
+         description "The cloud owner provided by the caller";\r
+         type string;\r
+      }\r
       leaf aic-clli {\r
          description "Not expected to be used";\r
          type string;\r
@@ -1107,6 +2516,43 @@ module GENERIC-RESOURCE-API {
          leaf value {\r
             type string;\r
          }\r
+         container resource-resolution-data {\r
+            list resource-key {\r
+               key "name";\r
+               leaf name {\r
+                  type string;\r
+               }\r
+               leaf value {\r
+                  type string;\r
+               }\r
+            }\r
+            leaf status {\r
+               description "SUCCESS, FAILED, or PENDING - RA returned data as capability";\r
+               type string;\r
+            }\r
+            leaf capability-name {\r
+               description "Resource assignment resolution Capability name";\r
+               type string;\r
+            }\r
+         }\r
+      }\r
+   }\r
+   grouping ip-addresses {\r
+      container ip-addresses {\r
+         leaf ipv4-address {\r
+            type inet:ip-address;\r
+         }\r
+         leaf ipv6-address {\r
+            type inet:ip-address;\r
+         }\r
+         leaf vipv4-address {\r
+            description "Virtual v4";\r
+            type inet:ip-address;\r
+         }\r
+         leaf vipv6-address {\r
+            description "Virtual v6";\r
+            type inet:ip-address;\r
+         }\r
       }\r
    }\r
    grouping instance-reference {\r
@@ -1139,6 +2585,8 @@ module GENERIC-RESOURCE-API {
             enum "unassign";\r
             enum "deactivate";\r
             enum "create";\r
+            enum "changeassign";\r
+            enum "reoptimize";\r
          }\r
       }\r
       leaf last-action {\r
@@ -1146,6 +2594,7 @@ module GENERIC-RESOURCE-API {
          type enumeration {\r
             enum "CreateNetworkInstance";\r
             enum "ActivateNetworkInstance";\r
+            enum "DeActivateNetworkInstance";\r
             enum "CreateServiceInstance";\r
             enum "DeleteServiceInstance";\r
             enum "DeleteNetworkInstance";\r
@@ -1153,339 +2602,190 @@ module GENERIC-RESOURCE-API {
             enum "ActivateVnfInstance";\r
             enum "DeleteVnfInstance";\r
             enum "CreateVfModuleInstance";\r
-            enum "ActivateVfModuleInstance";\r
-            enum "DeleteVfModuleInstance";\r
-            enum "CreateContrailRouteInstance";\r
-            enum "DeleteContrailRouteInstance";\r
-            enum "CreateSecurityZoneInstance";\r
-            enum "DeleteSecurityZoneInstance";\r
-         }\r
-      }\r
-      leaf last-svc-request-id {\r
-         description "Not currently populated in service data.";\r
-         type string;\r
-      }\r
-      leaf last-order-status {\r
-         description "fieldused by generic-resource-api";\r
-         type enumeration {\r
-            enum "Active";\r
-            enum "PendingAssignment";\r
-            enum "PendingCreate";\r
-            enum "PendingUpdate";\r
-            enum "PendingDelete";\r
-            enum "Deleted";\r
-            enum "Created";\r
-         }\r
-      }\r
-      leaf create-timestamp {\r
-         description "Not currently populated in service data.";\r
-         type string;\r
-      }\r
-      leaf modify-timestamp {\r
-         type string;\r
-      }\r
-   }\r
-   grouping service-response-information {\r
-      container service-response-information {\r
-         uses instance-reference;\r
-      }\r
-   }\r
-   grouping network-response-information {\r
-      container network-response-information {\r
-         uses instance-reference;\r
-      }\r
-   }\r
-   grouping vnf-response-information {\r
-      container vnf-response-information {\r
-         uses instance-reference;\r
-      }\r
-   }\r
-   grouping vf-module-response-information {\r
-      container vf-module-response-information {\r
-         uses instance-reference;\r
-      }\r
-   }\r
-   grouping contrail-route-response-information {\r
-      container contrail-route-response-information {\r
-         uses instance-reference;\r
-      }\r
-   }\r
-   grouping security-zone-response-information {\r
-      container security-zone-response-information {\r
-         uses instance-reference;\r
-      }\r
-   }\r
-   grouping tunnelxconn-response-information {\r
-       container tunnelxconn-response-information {\r
-           uses instance-reference;\r
-       }\r
-   }\r
-   grouping brg-response-information {\r
-       container brg-response-information {\r
-           uses instance-reference;\r
-       }\r
-   }\r
-   grouping preload-model-information {\r
-      list vnf-preload-list {\r
-         key "vnf-name vnf-type";\r
-         leaf vnf-name {\r
-            description "vf-module-name or network name";\r
-            type string;\r
-            mandatory true;\r
-         }\r
-         leaf vnf-type {\r
-            description "vf-module-type or network type";\r
-            type string;\r
-            mandatory true;\r
-         }\r
-         uses preload-data;\r
-      }\r
-   }\r
-   grouping vnf-topology-response-body {\r
-      leaf svc-request-id {\r
-         type string;\r
-      }\r
-      leaf response-code {\r
-         type string;\r
-      }\r
-      leaf response-message {\r
-         type string;\r
-      }\r
-      leaf ack-final-indicator {\r
-         type string;\r
-      }\r
-   }\r
-   grouping preload-data {\r
-      container preload-data {\r
-         uses vnf-topology-information;\r
-         uses network-topology-information;\r
-         uses oper-status;\r
-      }\r
-   }\r
-   grouping vnf-topology-information {\r
-      container vnf-topology-information {\r
-         uses vnf-topology-identifier;\r
-         uses vnf-assignments;\r
-         uses vnf-parameters;\r
-      }\r
-   }\r
-   grouping vnf-topology-identifier {\r
-      container vnf-topology-identifier {\r
-         leaf service-type {\r
-            type string;\r
-         }\r
-         leaf service-id {\r
-            type string;\r
-         }\r
-         leaf vnf-name {\r
-            description "vf-module-name";\r
-            type string;\r
-         }\r
-         leaf vnf-type {\r
-            description "vf-module-type";\r
-            type string;\r
-         }\r
-         leaf generic-vnf-name {\r
-            type string;\r
-         }\r
-         leaf generic-vnf-type {\r
-            type string;\r
-         }\r
-         leaf generic-vnf-id {\r
-            type string;\r
-         }\r
-      }\r
-   }\r
-   grouping vnf-assignments {\r
-      container vnf-assignments {\r
-         leaf vnf-status {\r
-            description "Orchestration Status from AAI - to be set by SDNC";\r
-            type string;\r
-         }\r
-         list availability-zones {\r
-            key "availability-zone";\r
-            leaf availability-zone {\r
-               description "Openstack availability zone name or UUID";\r
-               type string;\r
-            }\r
-         }\r
-         list vnf-networks {\r
-            key "network-role";\r
-            uses vnf-network;\r
-            uses sriov-vlan-filter-list;\r
-         }\r
-         uses vm-topology;\r
-      }\r
-   }\r
-   grouping vm-topology {\r
-      list vnf-vms {\r
-         key "vm-type";\r
-         leaf vm-type {\r
-            type string;\r
-            mandatory true;\r
-         }\r
-         leaf vm-count {\r
-            type uint8;\r
-         }\r
-         list vm-names {\r
-            key "vm-name";\r
-            leaf vm-name {\r
-               type string;\r
-            }\r
-         }\r
-         list vm-networks {\r
-            key "network-role";\r
-            uses vm-network;\r
+            enum "ActivateVfModuleInstance";\r
+            enum "DeleteVfModuleInstance";\r
+            enum "CreateContrailRouteInstance";\r
+            enum "DeleteContrailRouteInstance";\r
+            enum "CreateSecurityZoneInstance";\r
+            enum "DeleteSecurityZoneInstance";\r
+            enum "ActivateDCINetworkInstance";\r
+            enum "DeActivateDCINetworkInstance";\r
+            enum "CreateTunnelXConnInstance";\r
+            enum "DeleteTunnelXConnInstance";\r
+            enum "CreateBRGInstance";\r
+            enum "DeleteBRGInstance";\r
+            enum "CreateSOTNConnectivityInstance";\r
+            enum "ActivateSOTNConnectivityInstance";\r
+            enum "DeactivateSOTNConnectivityInstance";\r
+            enum "DeleteSOTNConnectivityInstance";\r
+            enum "CreateSOTNAttachmentInstance";\r
+            enum "ActivateSOTNAttachmentInstance";\r
+            enum "DeactivateSOTNAttachmentInstance";\r
+            enum "DeleteSOTNAttachmentInstance";\r
+            enum "CreateSiteInstance";\r
+            enum "ActivateSiteInstance";\r
+            enum "DeactivateSiteInstance";\r
+            enum "DeleteSiteInstance";\r
+            enum "CreatePortMirrorConfigurationInstance";\r
+            enum "DeletePortMirrorConfigurationInstance";\r
+            enum "ChangePortMirrorConfigurationInstance";\r
+            enum "CreateGenericConfigurationInstance";\r
+            enum "DeleteGenericConfigurationInstance";\r
+            enum "PreloadVfModuleRequest";\r
+            enum "DeletePreloadVfModuleRequest";\r
+            enum "PreloadNetworkRequest";\r
+            enum "DeletePreloadNetworkRequest";\r
+            enum "CreateForwardingPathInstance";\r
+            enum "DeleteForwardingPathInstance";\r
+            enum "UpdateForwardingPathInstance";\r
+            enum "CreateSDWANDeviceInstance";\r
+            enum "ActivateSDWANDeviceInstance";\r
+            enum "DeactivateSDWANDeviceInstance";\r
+            enum "DeleteSDWANDeviceInstance";\r
+            enum "CreateSDWANPortInstance";\r
+            enum "ActivateSDWANPortInstance";\r
+            enum "DeactivateSDWANPortInstance";\r
+            enum "DeleteSDWANPortInstance";\r
+            enum "ReoptimizeSOTNInstance";\r
+            enum "CreateSDWANLanPortInstance";\r
+            enum "ActivateSDWANLanPortInstance";\r
+            enum "DeactivateSDWANLanPortInstance";\r
+            enum "DeleteSDWANLanPortInstance";\r
+            enum "CreateSDWANVpnInstance";\r
+            enum "ActivateSDWANVpnInstance";\r
+            enum "DeactivateSDWANVpnInstance";\r
+            enum "DeleteSDWANVpnInstance";\r
+            enum "CreateSDWANSiteInstance";\r
+            enum "ActivateSDWANSiteInstance";\r
+            enum "DeactivateSDWANSiteInstance";\r
+            enum "DeleteSDWANSiteInstance";\r
+            enum "SdwanBandwidthChange";\r
          }\r
       }\r
-   }\r
-   grouping vnf-network {\r
-      leaf network-role {\r
-         description "A Network Role to which a VNF must connect";\r
-         type string;\r
-         mandatory true;\r
-      }\r
-      leaf network-name {\r
-         description "Unique Neutron UUID of an instance of the network role ";\r
+      leaf last-svc-request-id {\r
+         description "Not currently populated in service data.";\r
          type string;\r
       }\r
-      leaf neutron-id {\r
-         description "Unique Neutron UUID of an instance of the network role ";\r
-         type string;\r
+      leaf last-order-status {\r
+         type enumeration {\r
+            enum "Active";\r
+            enum "PendingAssignment";\r
+            enum "PendingCreate";\r
+            enum "PendingUpdate";\r
+            enum "PendingDelete";\r
+            enum "Deleted";\r
+            enum "Created";\r
+         }\r
       }\r
-      leaf network-id {\r
-         description "Unique Neutron UUID of an instance of the network role ";\r
+      leaf create-timestamp {\r
+         description "Not currently populated in service data.";\r
          type string;\r
       }\r
-      leaf subnet-id {\r
-         description "ipv4 subnet UUID to be passed into the HEAT template";\r
+      leaf modify-timestamp {\r
          type string;\r
       }\r
-      leaf subnet-name {\r
-         description "ipv4 subnet-name that corresponds to the ipv4 subnet-id";\r
-         type string;\r
+   }\r
+   grouping service-response-information {\r
+      container service-response-information {\r
+         uses instance-reference;\r
       }\r
-      leaf contrail-network-fqdn {\r
-         description "contrail network policy object";\r
-         type string;\r
+   }\r
+   grouping network-response-information {\r
+      container network-response-information {\r
+         uses instance-reference;\r
       }\r
-      leaf ipv6-subnet-id {\r
-         description "ipv6 subnet UUID to be passed into the HEAT template";\r
-         type string;\r
+   }\r
+   grouping vnf-response-information {\r
+      container vnf-response-information {\r
+         uses instance-reference;\r
       }\r
-      leaf ipv6-subnet-name {\r
-         description "ipv6 subnet-name that corresponds to the ipv6 subnet-id";\r
-         type string;\r
+   }\r
+   grouping vf-module-response-information {\r
+      container vf-module-response-information {\r
+         uses instance-reference;\r
       }\r
    }\r
-   grouping sriov-vlan-filter-list {\r
-      list sriov-vlan-filter-list {\r
-         key "sriov-vlan-filter";\r
-         leaf sriov-vlan-filter {\r
-            type string;\r
-         }\r
+   grouping contrail-route-response-information {\r
+      container contrail-route-response-information {\r
+         uses instance-reference;\r
       }\r
    }\r
-   grouping vm-network {\r
-      leaf network-role {\r
-         description "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF";\r
-         type string;\r
+   grouping security-zone-response-information {\r
+      container security-zone-response-information {\r
+         uses instance-reference;\r
       }\r
-      leaf use-dhcp {\r
-         description "Indicator to use DHCP on this network for this VM";\r
-         type enumeration {\r
-            enum "Y";\r
-            enum "N";\r
-         }\r
+   }\r
+   grouping getpathsegment-response-information {\r
+      container getpathsegment-response-information {\r
+         uses instance-reference;\r
       }\r
-      leaf ip-count {\r
-         description "The number of ip addresses to be assigned per vm for this network role";\r
-         type uint8;\r
+   }\r
+   grouping port-mirror-response-information {\r
+      container port-mirror-response-information {\r
+         uses instance-reference;\r
       }\r
-      list network-ips {\r
-         key "ip-address";\r
-         leaf ip-address {\r
-            description "List of assigned ipv4 addresses on a network";\r
-            type inet:ip-address;\r
-         }\r
+   }\r
+   grouping gc-response-information {\r
+      container gc-response-information {\r
+         uses instance-reference;\r
       }\r
-      list network-ips-v6 {\r
-         key "ip-address-ipv6";\r
-         leaf ip-address-ipv6 {\r
-            description "List of assigned ipv6 addresses on a network";\r
-            type inet:ipv6-address;\r
-         }\r
+   }\r
+   grouping tunnelxconn-response-information {\r
+       container tunnelxconn-response-information {\r
+           uses instance-reference;\r
+       }\r
+   }\r
+   grouping brg-response-information {\r
+       container brg-response-information {\r
+           uses instance-reference;\r
+       }\r
+   }\r
+   grouping connection-attachment-response-information {\r
+      container connection-attachment-response-information {\r
+         uses instance-reference;\r
       }\r
-      list network-macs {\r
-         key "mac-address";\r
-         leaf mac-address {\r
-            description "List of network assignments for this VM (one per network)";\r
+   }\r
+   grouping preload-model-information {\r
+      list preload-list {\r
+         key "preload-id preload-type";\r
+         leaf preload-id {\r
+            description "vf-module-name or network name";\r
             type string;\r
+            mandatory true;\r
          }\r
-      }\r
-      leaf floating-ip {\r
-         description "Floating ipv4 for VMs of a given type on this network";\r
-         type inet:ip-address;\r
-      }\r
-      leaf floating-ip-v6 {\r
-         description "Floating ipv6 for VMs of a given type on this network";\r
-         type inet:ipv6-address;\r
-      }\r
-      list interface-route-prefixes {\r
-         key "interface-route-prefix-cidr";\r
-         leaf interface-route-prefix-cidr {\r
-            description "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes";\r
+         leaf preload-type {\r
+            description "network or vf-module";\r
             type string;\r
             mandatory true;\r
          }\r
-         leaf interface-route-prefix {\r
-            description "route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes";\r
-            type inet:ip-address;\r
-         }\r
+         uses preload-data;\r
       }\r
    }\r
-   grouping vnf-parameters {\r
-      list vnf-parameters {\r
-         key "vnf-parameter-name";\r
-         leaf vnf-parameter-name {\r
-            description "The name of an arbitrary instance-specific vnf-parameters";\r
-            type string;\r
-         }\r
-         leaf vnf-parameter-value {\r
-            description "The value of an arbitrary instance-specific vnf-parameters ";\r
-            type string;\r
-         }\r
+   grouping preload-data {\r
+      container preload-data {\r
+         uses preload-vf-module-topology-information;\r
+         uses preload-network-topology-information;\r
+         uses preload-oper-status;\r
+      }\r
+   }\r
+   grouping preload-vf-module-topology-information {\r
+      container preload-vf-module-topology-information {\r
+         uses vnf-topology-identifier-structure;\r
+         uses vnf-resource-assignments;\r
+         uses vf-module-topology;\r
       }\r
    }\r
-   grouping network-topology-information {\r
-      container network-topology-information {\r
-         uses network-topology-identifier;\r
+   grouping preload-network-topology-information {\r
+      container preload-network-topology-information {\r
+         uses network-topology-identifier-structure;\r
          uses subnets;\r
          uses vpn-bindings;\r
          uses network-policy;\r
          uses route-table-reference;\r
+         uses host-routes;\r
          uses provider-network-information;\r
       }\r
    }\r
-   grouping network-topology-identifier {\r
-      container network-topology-identifier {\r
-         leaf service-type {\r
-            type string;\r
-         }\r
-         leaf network-name {\r
-            type string;\r
-         }\r
-         leaf network-role {\r
-            type string;\r
-         }\r
-         leaf network-type {\r
-            type string;\r
-         }\r
-         leaf network-technology {\r
-            type string;\r
-         }\r
-      }\r
-   }\r
    grouping subnets {\r
       list subnets {\r
          key "start-address";\r
@@ -1513,9 +2813,22 @@ module GENERIC-RESOURCE-API {
          leaf dhcp-end-address {\r
             type string;\r
          }\r
+         leaf addr-from-start {\r
+            description "Default is N";\r
+            type enumeration {\r
+               enum "Y";\r
+               enum "N";\r
+            }\r
+         }\r
          leaf subnet-name {\r
             type string;\r
          }\r
+         leaf subnet-role {\r
+            type string;\r
+         }\r
+         leaf subnet-sequence {\r
+            type uint8;\r
+         }\r
       }\r
    }\r
    grouping vpn-bindings {\r
@@ -1524,9 +2837,19 @@ module GENERIC-RESOURCE-API {
          leaf vpn-binding-id {\r
             type string;\r
          }\r
+         leaf vpn-name {\r
+            type string;\r
+         }\r
          leaf global-route-target {\r
             type string;\r
          }\r
+         leaf route-target-role {\r
+            type string;\r
+         }\r
+         leaf aic-zone {\r
+            description "AIC Zone the route target associated with";\r
+            type string;\r
+         }\r
       }\r
    }\r
    grouping network-policy {\r
@@ -1562,12 +2885,24 @@ module GENERIC-RESOURCE-API {
       leaf is-shared-network {\r
          type boolean;\r
       }\r
-      leaf is-external-network {\r
+      leaf is-external-network { \r
          type boolean;\r
       }\r
    }\r
-   grouping oper-status {\r
-      container oper-status {\r
+   grouping host-routes {\r
+      list host-routes {\r
+         key "route-prefix";\r
+         leaf route-prefix {\r
+            type string;\r
+         }\r
+         leaf next-hop {\r
+            description "Could be ip-address or hostname or service-instance";\r
+            type string;\r
+         }\r
+      }\r
+   }\r
+   grouping preload-oper-status {\r
+      container preload-oper-status {\r
          leaf order-status {\r
             type enumeration {\r
                enum "Active";\r
@@ -1579,23 +2914,11 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf last-action {\r
-            description "this is preload request actions";\r
             type enumeration {\r
-               enum "VNFActivateRequest";\r
-               enum "ChangeVNFActivateRequest";\r
-               enum "VnfInstanceActivateRequest";\r
-               enum "ChangeVnfInstanceActivateRequest";\r
-               enum "VfModuleActivateRequest";\r
-               enum "ChangeVfModuleActivateRequest";\r
-               enum "DisconnectVNFRequest";\r
-               enum "DisconnectVnfInstanceRequest";\r
-               enum "DisconnectVfModuleRequest";\r
-               enum "PreloadVNFRequest";\r
-               enum "DeletePreloadVNFRequest";\r
-               enum "PreloadVnfInstanceRequest";\r
-               enum "DeletePreloadVnfInstanceRequest";\r
                enum "PreloadVfModuleRequest";\r
                enum "DeletePreloadVfModuleRequest";\r
+               enum "PreloadNetworkRequest";\r
+               enum "DeletePreloadNetworkRequest";\r
             }\r
          }\r
          leaf last-svc-request-id {\r
@@ -1625,6 +2948,35 @@ module GENERIC-RESOURCE-API {
          }\r
       }\r
    }\r
+   grouping preload-topology-response-body {\r
+      leaf svc-request-id {\r
+         type string;\r
+      }\r
+      leaf response-code {\r
+         type string;\r
+      }\r
+      leaf response-message {\r
+         type string;\r
+      }\r
+      leaf ack-final-indicator {\r
+         type string;\r
+      }\r
+   }\r
+   rpc generic-configuration-notification {\r
+      input {\r
+         uses sdnc-request-header;\r
+         uses request-information;\r
+         uses service-information;\r
+         uses configuration-information;\r
+         uses topology-response-common;\r
+         leaf configuration-topology-link {\r
+            description "Returns URL to generic-configuration-topology ";\r
+            type string;\r
+         }\r
+         uses vnr-parameters;\r
+         uses vnf-vnr-rebuild-data;\r
+      }\r
+   }\r
    container services {\r
       uses service-model-infrastructure;\r
    }\r
@@ -1685,7 +3037,7 @@ module GENERIC-RESOURCE-API {
            uses allotted-resource-status;\r
        }\r
    }\r
-   container brg-allotted-respources {\r
+   container brg-allotted-resources {\r
        list brg-allotted-resource {\r
            key "allotted-resource-id";\r
            leaf allotted-resource-id {\r
@@ -1705,6 +3057,59 @@ module GENERIC-RESOURCE-API {
            uses allotted-resource-status;\r
        }\r
    }\r
+   container connection-attachment-allotted-resources {\r
+      list connection-attachment-allotted-resource {\r
+         key "allotted-resource-id";\r
+         leaf allotted-resource-id {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         container allotted-resource-data {\r
+            container allotted-resource-operation-information {\r
+               uses connection-attachment-operation-information;\r
+            }\r
+            uses connection-attachment-topology;\r
+            container connection-attachment-parameters {\r
+               uses param;\r
+            }\r
+            uses allotted-resource-oper-status;\r
+         }\r
+         uses allotted-resource-status;\r
+      }\r
+   }\r
+   container port-mirror-configurations {\r
+      list port-mirror-configuration {\r
+         key "configuration-id";\r
+         leaf configuration-id {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         container configuration-data {\r
+            container configuration-operation-information {\r
+               uses port-mirror-topology-operation-information;\r
+            }\r
+            uses port-mirror-configuration-topology;\r
+            uses configuration-oper-status;\r
+         }\r
+         uses configuration-status;\r
+      }\r
+   }\r
+   container generic-configurations {\r
+      list gc-configuration {\r
+         key "configuration-id";\r
+         leaf configuration-id {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         container configuration-data {\r
+            container configuration-operation-information {\r
+               uses gc-topology-operation-information;\r
+            }\r
+            uses configuration-oper-status;\r
+         }\r
+         uses configuration-status;\r
+      }\r
+   }\r
    rpc service-topology-operation {\r
       input {\r
          uses service-operation-information;\r
@@ -1785,28 +3190,107 @@ module GENERIC-RESOURCE-API {
            uses service-response-information;\r
        }\r
    }\r
-   container preload-vnfs {\r
+   rpc policy-update-notify-operation {\r
+      input {\r
+         leaf policy-name {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf version-id {\r
+            description "Map JSON versionNo to version-id";\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf update-type {\r
+            type string;\r
+            mandatory true;\r
+         }\r
+      }\r
+      output {\r
+         leaf error-code {\r
+            type string;\r
+         }\r
+         leaf error-msg {\r
+            type string;\r
+         }\r
+      }\r
+   }\r
+   rpc getpathsegment-topology-operation {\r
+      input {\r
+         uses forwarding-path-operation-information;\r
+      }\r
+      output {\r
+         uses topology-response-common;\r
+         uses getpathsegment-response-information;\r
+         uses service-response-information;\r
+      }\r
+   }\r
+   rpc port-mirror-topology-operation {\r
+      input {\r
+         uses port-mirror-topology-operation-information;\r
+      }\r
+      output {\r
+         uses topology-response-common;\r
+         uses port-mirror-response-information;\r
+         uses service-response-information;\r
+      }\r
+   }\r
+   rpc generic-configuration-topology-operation {\r
+      input {\r
+         uses gc-topology-operation-information;\r
+      }\r
+      output {\r
+         uses topology-response-common;\r
+         uses gc-response-information;\r
+         uses service-response-information;\r
+      }\r
+   }\r
+   rpc vnf-get-resource-request {\r
+      input {\r
+         uses sdnc-request-header;\r
+         uses request-information;\r
+         uses service-information;\r
+         uses vnf-get-resource-request-input-data;\r
+      }\r
+      output {\r
+         container vnf-get-resource-response-information {\r
+            uses vnf-cloud-param;\r
+         }\r
+      }\r
+   }\r
+   container preload-information {\r
       uses preload-model-information;\r
    }\r
-   rpc preload-vnf-topology-operation {\r
+   rpc preload-vf-module-topology-operation {\r
       input {\r
          uses sdnc-request-header;\r
          uses request-information;\r
-         uses vnf-topology-information;\r
+         uses preload-vf-module-topology-information;\r
       }\r
       output {\r
-         uses vnf-topology-response-body;\r
+         uses preload-topology-response-body;\r
       }\r
    }\r
    rpc preload-network-topology-operation {\r
       input {\r
          uses sdnc-request-header;\r
          uses request-information;\r
-         uses network-topology-information;\r
+         uses preload-network-topology-information;\r
       }\r
       output {\r
-         uses vnf-topology-response-body;\r
+         uses preload-topology-response-body;\r
       }\r
    }\r
 \r
+   rpc connection-attachment-topology-operation {\r
+       input {\r
+           uses connection-attachment-operation-information;\r
+       }\r
+       output {\r
+           uses topology-response-common;\r
+           uses connection-attachment-response-information;\r
+           uses service-response-information;\r
+       }\r
+   }\r
+\r
 } ////closes the module\r