GRAPI yang model update
[sdnc/northbound.git] / generic-resource-api / model / yang / src / main / yang / GENERIC-RESOURCE-API.yang
index 703b2b5..ab153f0 100644 (file)
@@ -34,7 +34,9 @@ module GENERIC-RESOURCE-API {
             list network {\r
                key "network-id";\r
                leaf network-id {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                   mandatory true;\r
                }\r
                container network-data {\r
@@ -43,7 +45,9 @@ module GENERIC-RESOURCE-API {
                   container network-provided-allotted-resources {\r
                      leaf-list network-provided-ar-id {\r
                         description "List of allotted resources using capacity from this network";\r
-                        type string;\r
+                        type string {\r
+                            length "0..255";\r
+                        }\r
                         ordered-by user;\r
                      }\r
                   }\r
@@ -69,7 +73,9 @@ module GENERIC-RESOURCE-API {
             list vnf {\r
                key "vnf-id";\r
                leaf vnf-id {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                   mandatory true;\r
                }\r
                container vnf-data {\r
@@ -84,7 +90,9 @@ module GENERIC-RESOURCE-API {
                   container vnf-provided-allotted-resources {\r
                      leaf-list vnf-provided-ar-id {\r
                         description "List of allotted resources using capacity from this vnf";\r
-                        type string;\r
+                        type string {\r
+                            length "0..255";\r
+                        }\r
                         ordered-by user;\r
                      }\r
                   }\r
@@ -93,7 +101,9 @@ module GENERIC-RESOURCE-API {
                      list vf-module {\r
                         key "vf-module-id";\r
                         leaf vf-module-id {\r
-                           type string;\r
+                           type string {\r
+                               length "0..255";\r
+                           }\r
                            mandatory true;\r
                         }\r
                         container vf-module-data {\r
@@ -135,7 +145,9 @@ module GENERIC-RESOURCE-API {
                key "forwarding-path-id";\r
                leaf forwarding-path-id {\r
                   description "Generated by SDNC";\r
-                  type string;\r
+                  type string {\r
+                      length "0..512";\r
+                  }\r
                   mandatory true;\r
                }\r
                uses forwarding-path-information;\r
@@ -146,13 +158,19 @@ module GENERIC-RESOURCE-API {
    grouping service-status {\r
       container service-status {\r
          leaf response-code {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf response-message {\r
-            type string;\r
+            type string {\r
+                length "0..2000";\r
+            }\r
          }\r
          leaf final-indicator {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf request-status {\r
             type enumeration {\r
@@ -163,10 +181,14 @@ module GENERIC-RESOURCE-API {
          }\r
          leaf action {\r
             description "value would one of possible request-actions; match the list in service-data oper-status";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf rpc-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf rpc-action {\r
             description "this is the svc-action from the incoming request";\r
@@ -181,7 +203,9 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf response-timestamp {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -194,7 +218,9 @@ module GENERIC-RESOURCE-API {
    grouping service-request-input {\r
       container service-request-input {\r
          leaf service-instance-name {\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          container service-input-parameters {\r
             uses param;\r
@@ -213,22 +239,32 @@ module GENERIC-RESOURCE-API {
       container service-topology-identifier {\r
          leaf service-instance-id {\r
             description "repeated";\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf service-type {\r
             description "tag labeled subscription-service-type in the service-information input";\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf service-id {\r
             description "from MSO input on STO assign";\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf service-instance-name {\r
             description "optionally comes from service-request-input container or is assigned by sdn-c";\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf global-customer-id {\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
       }\r
    }\r
@@ -241,10 +277,14 @@ module GENERIC-RESOURCE-API {
          list service-parameter {\r
             key "service-parameter-name";\r
             leaf service-parameter-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255" ;\r
+               }\r
             }\r
             leaf service-parameter-value {\r
-               type string;\r
+               type string {\r
+                   length "0..20000" ;\r
+               }\r
             }\r
          }\r
       }\r
@@ -264,13 +304,19 @@ module GENERIC-RESOURCE-API {
    grouping network-information {\r
       container network-information {\r
          leaf network-id {\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf network-type {\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf network-technology {\r
-             type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf from-preload {\r
             description "Indicates if source is preload data";\r
@@ -282,7 +328,9 @@ module GENERIC-RESOURCE-API {
    grouping network-request-input {\r
       container network-request-input {\r
          leaf network-name {\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          uses region-identifier;\r
          container network-input-parameters {\r
@@ -290,7 +338,9 @@ module GENERIC-RESOURCE-API {
          }\r
          leaf network-instance-group-id {\r
             description "When network has instance-group role in service model";\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
       }\r
    }\r
@@ -306,35 +356,53 @@ module GENERIC-RESOURCE-API {
    grouping network-topology-identifier-structure {\r
       container network-topology-identifier-structure {\r
          leaf network-id {\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf network-name {\r
-            type string;\r
+            type string {\r
+                length "0..255" ;\r
+            }\r
          }\r
          leaf network-role {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-type {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\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
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-technology {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf eipam-v4-address-plan {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf eipam-v6-address-plan {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf is-trunked {\r
-             type boolean;\r
+            type boolean;\r
          }\r
          leaf segmentation-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          container related-networks {\r
             uses related-network;\r
@@ -350,10 +418,14 @@ module GENERIC-RESOURCE-API {
          list network-parameter {\r
             key "network-parameter-name";\r
             leaf network-parameter-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf network-parameter-value {\r
-               type string;\r
+               type string {\r
+                   length "0..20000";\r
+               }\r
             }\r
          }\r
       }\r
@@ -363,70 +435,102 @@ module GENERIC-RESOURCE-API {
          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
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf network-instance-group-function {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf service-instance-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\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
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
          container vpn-binding-policy {\r
             leaf vpn-binding {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vpn-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vpn-type {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vpn-platform {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf global-route-target {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf route-target-role {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
          container aggregate-route-policy {\r
             leaf aggregate-route-policy-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf ipv4-aggregate-route-level {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf ipv6-aggregate-route-level {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\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
+            description "key-value provided to IPAM when  creating shared subnet";\r
+            type string {\r
+                length "0..255";\r
+            }\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
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                   mandatory true;\r
                }\r
                leaf neutron-network-id {\r
                   description "Neutron-network-id assigned by PO/RO";\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                uses vpn-bindings;\r
                leaf vlan-tag-id {\r
@@ -434,14 +538,18 @@ module GENERIC-RESOURCE-API {
                }\r
                leaf network-status {\r
                   description "assigned, unassigned";\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\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
+                        type string {\r
+                            length "0..255";\r
+                        }\r
                      }\r
                   }\r
                }\r
@@ -538,13 +646,19 @@ module GENERIC-RESOURCE-API {
    grouping vnf-information {\r
       container vnf-information {\r
          leaf vnf-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vnf-type {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vnf-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses onap-model-information;\r
       }\r
@@ -552,10 +666,15 @@ module GENERIC-RESOURCE-API {
    grouping vnf-request-input {\r
       container vnf-request-input {\r
          leaf request-version {\r
-            type string;\r
+            description "keep this? e.g. 1702";\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vnf-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses region-identifier;\r
          container vnf-networks {\r
@@ -568,7 +687,9 @@ module GENERIC-RESOURCE-API {
             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
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
          container vnf-input-parameters {\r
@@ -586,7 +707,7 @@ module GENERIC-RESOURCE-API {
             uses param;\r
          }\r
          leaf sdnc-generated-cloud-resources {\r
-            description "Indicate if source is sdnc generated cloud param";\r
+            description "Indicate if source is sdnc generated cloud param. 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
@@ -594,28 +715,40 @@ module GENERIC-RESOURCE-API {
    grouping vnf-topology-identifier-structure {\r
       container vnf-topology-identifier-structure {\r
          leaf vnf-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vnf-type {\r
             description "In preload tree, this label is used for the vf-module-type";\r
             type string;\r
          }\r
          leaf nf-type {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf nf-role {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf nf-function {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf nf-code {\r
             description "used in vnf naming";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vnf-name {\r
             description "optionally comes from vnf-request-input container or is assigned by sdn-c";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -623,12 +756,16 @@ module GENERIC-RESOURCE-API {
       container vnf-resource-assignments {\r
          leaf vnf-status {\r
             description "Orchestration status from AAI - to be set by SDNC";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          container availability-zones {\r
             leaf-list availability-zone {\r
                description "Openstack availability zone name or UUID";\r
-               type string;\r
+               type string {\r
+                  length "0..255";\r
+               }\r
                ordered-by user;\r
             }\r
             leaf max-count {\r
@@ -647,46 +784,66 @@ module GENERIC-RESOURCE-API {
    grouping vnf-network-data {\r
       leaf network-role {\r
          description "A Network Role to which a VNF must connect";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf network-name {\r
          description "Unique Neutron UUID of an instance of the network role ";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf neutron-id {\r
          description "Unique Neutron UUID of an instance of the network role ";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf network-id {\r
          description "Unique Neutron UUID of an instance of the network role ";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf contrail-network-fqdn {\r
          description "contrail network policy object";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       container subnets-data {\r
          list subnet-data {\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
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf subnet-role {\r
                description "Subnet Role for the subnet";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf subnet-name {\r
                description "Populated for preload only";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf ip-version {\r
                description "Should be ipv4 or ipv6";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf subnet-id {\r
                description "subnet UUID to be passed into the HEAT template";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf dhcp-enabled {\r
                description "Indicator to use this subnet for  DHCP ";\r
@@ -705,19 +862,23 @@ module GENERIC-RESOURCE-API {
             }\r
             leaf cidr-mask {\r
                description "cidr mask";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\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
+         type boolean;\r
+      }\r
+      leaf segmentation-id {\r
+         type string {\r
+             length "0..255";\r
+         }\r
+      }\r
+      container related-networks {\r
+         uses related-network;\r
+      }\r
    }\r
    grouping vnf-level-oper-status {\r
       container vnf-level-oper-status {\r
@@ -735,10 +896,14 @@ module GENERIC-RESOURCE-API {
    grouping vf-module-information {\r
       container vf-module-information {\r
          leaf vf-module-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vf-module-type {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf from-preload {\r
             description "Indicates if source is preload data";\r
@@ -751,10 +916,14 @@ module GENERIC-RESOURCE-API {
       container vf-module-request-input {\r
          leaf request-version {\r
             description "keep this?";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vf-module-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses region-identifier;\r
          container vf-module-input-parameters {\r
@@ -781,22 +950,30 @@ module GENERIC-RESOURCE-API {
       container vf-module-topology-identifier {\r
          leaf vf-module-id {\r
             description "vf-module id";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vf-module-name {\r
             description "vf-module-name";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vf-module-type {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
    grouping vf-module-assignments {\r
       container vf-module-assignments {\r
          leaf vf-module-status {\r
-            description "Orchestration status from AAI - to be set by SDNC";\r
-            type string;\r
+            description "Orchestration status from AAI";\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          container vms {\r
             list vm {\r
@@ -810,13 +987,20 @@ module GENERIC-RESOURCE-API {
                key "neutron-subnet-id";\r
                leaf neutron-subnet-id {\r
                   description "Same as subnet-id in subnet-data structure";\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
+                  mandatory true;\r
                }\r
                leaf network-role {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf ip-version {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
             }\r
          }\r
@@ -824,30 +1008,40 @@ module GENERIC-RESOURCE-API {
    }\r
    grouping vm-topology-data {\r
       leaf vm-type {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\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
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf vm-type-tag {\r
          description "from tosca data on vfc";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf vm-count {\r
          type uint8;\r
       }\r
       container vm-names {\r
          leaf-list vm-name {\r
-            type string;\r
+            type string {\r
+               length "0..255";\r
+            }\r
             ordered-by user;\r
          }\r
          list vnfc-names {\r
             key "vnfc-name";\r
             leaf vnfc-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             container vnfc-networks {\r
                uses vnfc-network-data;\r
@@ -865,11 +1059,15 @@ module GENERIC-RESOURCE-API {
       list vnfc-network-data {\r
          key "vnfc-network-role";\r
          leaf vnfc-network-role {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf vnfc-type {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses connection-point;\r
          container vnfc-ports {\r
@@ -877,12 +1075,16 @@ module GENERIC-RESOURCE-API {
                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
+                  type string {\r
+                      length "0..255";\r
+                  }\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
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                container vnic-sub-interfaces {\r
                   uses sub-interface-network-data;\r
@@ -893,7 +1095,9 @@ module GENERIC-RESOURCE-API {
             key "vnfc-subnet-role";\r
             leaf vnfc-subnet-role {\r
                description "Default value if subnet role is not defined.";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
                mandatory true;\r
             }\r
             list vnfc-ip-assignments {\r
@@ -919,11 +1123,13 @@ module GENERIC-RESOURCE-API {
                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
+                     description "Either IpV4 IP or IpV6 IP address should be present";\r
                      type inet:ip-address;\r
                   }\r
                   leaf vnfc-client-key {\r
-                     type string;\r
+                     type string {\r
+                         length "0..255";\r
+                     }\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
@@ -940,18 +1146,24 @@ module GENERIC-RESOURCE-API {
    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
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
          mandatory true;\r
       }\r
       leaf network-role-tag {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\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
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf use-dhcp {\r
                description "Indicator to use DHCP on this network for this VM";\r
@@ -967,7 +1179,9 @@ module GENERIC-RESOURCE-API {
             container network-ips {\r
                leaf-list network-ip {\r
                   description "List of assigned ip addresses of type ip-version on a network";\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                   ordered-by user;\r
                }\r
             }\r
@@ -976,7 +1190,9 @@ module GENERIC-RESOURCE-API {
       container mac-addresses {\r
          leaf-list mac-address {\r
             description "List of network assignments for this vm-type";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             ordered-by user;\r
          }\r
       }\r
@@ -1009,13 +1225,17 @@ module GENERIC-RESOURCE-API {
          container application-tags {\r
             container c-tags {\r
                leaf-list c-tag {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                   ordered-by user;\r
                }\r
             }\r
             container s-tags {\r
                leaf-list s-tag {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                   ordered-by user;\r
                }\r
             }\r
@@ -1025,7 +1245,9 @@ module GENERIC-RESOURCE-API {
          type boolean;\r
       }\r
       leaf segmentation-id {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       container related-networks {\r
          uses related-network;\r
@@ -1038,15 +1260,21 @@ module GENERIC-RESOURCE-API {
    }\r
    grouping allotted-resource-info {\r
       leaf allotted-resource-id {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf allotted-resource-type {\r
          description "Not an enum, but expected values are contrail-route and security-zone.";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf allotted-resource-pointer {\r
          description "Pointer to the allotted-resources topology";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
    }\r
    grouping forwarding-path-operation-information {\r
@@ -1061,7 +1289,9 @@ module GENERIC-RESOURCE-API {
             key "forwarding-path-name";\r
             leaf forwarding-path-name {\r
                description "Forwarding-path-name from tosca-model. ";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
                mandatory true;\r
             }\r
             uses onap-model-information;\r
@@ -1071,7 +1301,9 @@ module GENERIC-RESOURCE-API {
    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
+         type string {\r
+             length "0..512";\r
+         }\r
       }\r
       leaf forwarding-path-type {\r
          description "Based on MySQL Forwarding_Path tables path_type value from related TOSCA model";\r
@@ -1091,21 +1323,29 @@ module GENERIC-RESOURCE-API {
    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
+         type string {\r
+             length "0..255";\r
+         }\r
       }\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
+         type string {\r
+             length "0..512";\r
+         }\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
+         type string {\r
+             length "0..255";\r
+         }\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
+            type string {\r
+                length "0..255";\r
+            }\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
@@ -1122,7 +1362,9 @@ module GENERIC-RESOURCE-API {
    grouping vnf-path-information {\r
       leaf vnf-instance-id {\r
          description "VNF instance ID in the path";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\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
@@ -1130,46 +1372,66 @@ module GENERIC-RESOURCE-API {
       }\r
       leaf left-network-name {\r
          description "Every VNF instance in the path is connected to one or two VNFs.";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf left-network-role {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf right-network-name {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf right-network-role {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       container vf-module-instance {\r
          leaf vf-module-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vf-module-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
-   grouping forwarding-path-level-oper-status { \r
-      container forwarding-path-level-oper-status { \r
-         uses oper-status-data; \r
-      } \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
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf configuration-type {\r
          description "Not an enum, but expected values are port-mirror-configuration, , vlan-network-receptor";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf configuration-sub-type {\r
          description "Not an enum, but expected values are vprobe and pprobe";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf configuration-topology-link {\r
          description "Pointer to the configurations topology";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
    }\r
    grouping vnfc-instance-group {\r
@@ -1177,21 +1439,29 @@ module GENERIC-RESOURCE-API {
          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
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf nfc-naming-code {\r
             description "Set to nfc-naming-code from A&AI";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf configuration-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf group-type {\r
             description " port-mirror-source or  port-mirror-dest";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses vnfc-objects;\r
       }\r
@@ -1201,32 +1471,48 @@ module GENERIC-RESOURCE-API {
          list vnfc-object {\r
             key "vnfc-key";\r
             leaf vnfc-key {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vnfc-name {\r
                description "Vnfc name as key in A&AI";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vm-type {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vnf-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vserver-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vserver-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             container vnics {\r
                list vnic {\r
                   key "vnic-port-name";\r
                   leaf vnic-port-name {\r
-                     type string;\r
+                     type string {\r
+                         length "0..255";\r
+                     }\r
                   }\r
                   leaf vnic-port-id {\r
-                     type string;\r
+                     type string {\r
+                         length "0..255";\r
+                     }\r
                   }\r
                   container capacity {\r
                      leaf vnic-capacity {\r
@@ -1251,13 +1537,19 @@ module GENERIC-RESOURCE-API {
             key "vnfc-name";\r
             leaf vnfc-name {\r
                description "Vnfc name as key in A&AI";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vserver-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vserver-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             uses vnics;\r
          }\r
@@ -1268,10 +1560,14 @@ module GENERIC-RESOURCE-API {
          list vnic {\r
             key "vnic-port-name";\r
             leaf vnic-port-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vnic-port-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             uses sub-interfaces;\r
          }\r
@@ -1282,10 +1578,14 @@ module GENERIC-RESOURCE-API {
          list sub-interface {\r
             key "sub-interface-port-name";\r
             leaf sub-interface-port-name {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf sub-interface-port-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             container sub-interface-ip-addresses {\r
                uses ip-addresses;\r
@@ -1293,15 +1593,21 @@ module GENERIC-RESOURCE-API {
             uses vlan-tags;\r
             container sub-interface-network {\r
                leaf network-name {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf network-id {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
             }\r
             leaf sub-interface-status {\r
                description "NULL, unassigned, assigned";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
       }\r
@@ -1310,12 +1616,16 @@ module GENERIC-RESOURCE-API {
       container vlan-tags {\r
          leaf vlan-interface {\r
             description "A&AI Key";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf upper-tag-id {\r
+            description "aka outer tag";\r
             type uint32;\r
          }\r
          leaf lower-tag-id {\r
+            description "aka inner tag";\r
             type uint32;\r
          }\r
          leaf is-private {\r
@@ -1329,20 +1639,28 @@ module GENERIC-RESOURCE-API {
             key "instance-group-id";\r
             leaf instance-group-id {\r
                description "A&AI ID";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
                mandatory true;\r
             }\r
             leaf instance-group-function {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vnf-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             container vnfcs {\r
                list vnfc {\r
                   key "vnfc-name";\r
                   leaf vnfc-name {\r
-                     type string;\r
+                     type string {\r
+                         length "0..255";\r
+                     }\r
                   }\r
                   uses vnic-groups;\r
                }\r
@@ -1356,16 +1674,22 @@ module GENERIC-RESOURCE-API {
             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
+               type string {\r
+                   length "0..255";\r
+               }\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
+               type string {\r
+                   length "0..255";\r
+               }\r
+            }\r
             leaf vlan-assignment-policy-name {\r
                description "Policy name in ASDC model & policy definition in Policy Engine";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vlan-tag-index-next {\r
                description "Next tag to be assigned";\r
@@ -1378,7 +1702,9 @@ module GENERIC-RESOURCE-API {
                list vlan-vnic {\r
                   key "vnic-port-id";\r
                   leaf vnic-port-id {\r
-                     type string;\r
+                     type string {\r
+                         length "0..255";\r
+                     }\r
                      mandatory true;\r
                   }\r
                   container vnic-sub-interfaces {\r
@@ -1389,37 +1715,84 @@ module GENERIC-RESOURCE-API {
          }\r
       }\r
    }\r
+   grouping vnf-cloud-param {\r
+      leaf service-instance-id {\r
+         type string {\r
+             length "0..255";\r
+         }\r
+      }\r
+      leaf service-instance-name {\r
+         type string {\r
+             length "0..255";\r
+         }\r
+      }\r
+      list vnf {\r
+         key "vnf-id";\r
+         leaf vnf-id {\r
+            type string {\r
+                length "0..255";\r
+            }\r
+         }\r
+         leaf vnf-name {\r
+            type string {\r
+                length "0..255";\r
+            }\r
+         }\r
+         uses param;\r
+         list vf-module {\r
+            key "vf-module-id";\r
+            leaf vf-module-id {\r
+               type string {\r
+                   length "0..255";\r
+               }\r
+            }\r
+            uses param;\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
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf network-instance-group-id {\r
             description "Network Instance-Group id in A&AI";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-collection-service-instance-id {\r
             description "Service-instance-id of service that created the network collection";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\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
+            type string {\r
+                length "0..255";\r
+            }\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
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                   mandatory true;\r
                }\r
                leaf neutron-network-id {\r
                   description "Neutron-network-id assigned by PO/RO";\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
             }\r
          }\r
@@ -1432,15 +1805,21 @@ module GENERIC-RESOURCE-API {
       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
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf network-instance-group-function {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf parent-port-role {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          uses vnfcs;\r
@@ -1449,7 +1828,9 @@ module GENERIC-RESOURCE-API {
                key "configuration-id";\r
                leaf configuration-id {\r
                   description "e.g. vlan network receptor configuration id";\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
             }\r
          }\r
@@ -1460,12 +1841,16 @@ module GENERIC-RESOURCE-API {
          key "network-id";\r
          leaf network-id {\r
             description "Subinterface network id (UUID in A&AI)";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf neutron-network-id {\r
             description "Neutron network id assigned by PO/RP";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-name {\r
             description "Subinterface network name";\r
@@ -1477,18 +1862,24 @@ module GENERIC-RESOURCE-API {
          }\r
          leaf network-role {\r
             description "e.g. untrusted ";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-role-tag {\r
             description "Assuming HEAT template network role tag parameter - not used";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\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
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf use-dhcp {\r
                   description "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging";\r
@@ -1524,41 +1915,20 @@ module GENERIC-RESOURCE-API {
          }\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
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          list vf-module {\r
             key "vf-module-id";\r
             leaf vf-module-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
       }\r
@@ -1568,41 +1938,59 @@ module GENERIC-RESOURCE-API {
          list entitlement-pool-list {\r
             key "entitlement-pool-uuid action";\r
             leaf entitlement-pool-uuid {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
                mandatory true;\r
             }\r
             leaf action {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
                mandatory true;\r
             }\r
             leaf entitlement-pool-invariant-uuid {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf entitlement-uuid {\r
                description "assigned by ALTS";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\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
+               type string {\r
+                   length "0..255";\r
+               }\r
                mandatory true;\r
             }\r
             leaf action {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
                mandatory true;\r
             }\r
             leaf license-key-group-invariant-uuid {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf license-key {\r
                description "assigned by ALTS";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf license-uuid {\r
                description "assigned by ALTS";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
       }\r
@@ -1612,10 +2000,14 @@ module GENERIC-RESOURCE-API {
          key "network-id";\r
          leaf network-id {\r
             description "Key to l3-network object";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-role {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses vlan-tags;\r
       }\r
@@ -1624,27 +2016,39 @@ module GENERIC-RESOURCE-API {
       container connection-point {\r
          leaf connection-point-id {\r
             description "Key to CP object in A&AI";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf port-id {\r
             description "port-index when multiple CPs connect to same network. Default zero (0)";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\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
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vlan-tag-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vlan-tag-description {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vlan-role {\r
                description "Inner/Outer roles";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
       }\r
@@ -1654,17 +2058,23 @@ module GENERIC-RESOURCE-API {
          key "route-id";\r
          leaf route-id {\r
             description "Unique id";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf start-address {\r
             type inet:ip-address;\r
          }\r
          leaf cidr-mask {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf ip-version {\r
             description "Use values 4 or 6.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -1672,10 +2082,14 @@ module GENERIC-RESOURCE-API {
       container pnf-information {\r
          leaf pnf-name {\r
             description "Key for A&AI query";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf pnf-type {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses onap-model-information;\r
       }\r
@@ -1698,11 +2112,15 @@ module GENERIC-RESOURCE-API {
          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
+               type string {\r
+                   length "0..255";\r
+               }\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
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
          container contrail-route-input-parameters {\r
@@ -1712,10 +2130,14 @@ module GENERIC-RESOURCE-API {
    }\r
    grouping network-info {\r
       leaf network-id {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf network-role {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
    }\r
    grouping contrail-route-topology {\r
@@ -1732,11 +2154,15 @@ module GENERIC-RESOURCE-API {
       container contrail-route-assignments {\r
          leaf fq-name {\r
             description "The Contrail fq-name of the network policy";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\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
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          container source-network {\r
             uses network-info;\r
@@ -1747,20 +2173,28 @@ module GENERIC-RESOURCE-API {
          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
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vnf-id {\r
                description "The vnf representing the contrail applied service";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\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
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
          leaf vlan-tag {\r
             description "Contrail-assigned vlan-tag to the vipr vm interface for this route.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -1774,15 +2208,21 @@ module GENERIC-RESOURCE-API {
    grouping security-zone-request-input {\r
       container security-zone-request-input {\r
          leaf vlan-tag {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf trusted-network-role {\r
             description "In the case of vIPR, this is the landing networks network-role; used in naming";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf untrusted-network-role {\r
             description "In the case of vIPR, this is the tenant oam networks network-role; used in naming";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          container security-zone-input-parameters {\r
             uses param;\r
@@ -1803,28 +2243,42 @@ module GENERIC-RESOURCE-API {
       container security-zone-assignments {\r
          leaf trusted-network-role {\r
             description "In the case of vIPR, this is the landing networks network-role; used in naming";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf security-zone-name-trusted {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf untrusted-network-role {\r
             description "In the case of vIPR, this is the tenant oam networks network-role; used in naming";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf security-zone-name-untrusted {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf security-zone-service-instance-id {\r
             description "Will be the same as the parent-service-instance-id";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf security-zone-vnf-id {\r
             description "Selected by SDNC from the security-zone-service-instance-id";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vlan-tag {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -1841,7 +2295,9 @@ module GENERIC-RESOURCE-API {
             uses port-info;\r
             leaf source-port-id {\r
                description "needed for srv-action=disable/enable";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
          container dest-port {\r
@@ -1856,7 +2312,9 @@ module GENERIC-RESOURCE-API {
    grouping port-info {\r
       leaf service-instance-id {\r
          description "May not be need.";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       uses pnf-information;\r
       uses vnf-information;\r
@@ -1877,126 +2335,194 @@ module GENERIC-RESOURCE-API {
             uses param;\r
          }\r
          leaf vnics-group-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf owning-entity {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf tenant-context {\r
             description "From tenant object in A&AI";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf tenant {\r
             description "Tenant name from A&AI for source VNF";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf tenant-id {\r
             description "tenant-id from A&AI for source VNF";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dest-tenant {\r
             description "Tenant name from A&AI for destination VNF";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dest-tenant-id {\r
             description "tenant-id from A&AI for destination VNF";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf cloud-region-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf cloud-owner {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dest-network-fqdn {\r
-            type string;\r
+            type string {\r
+                length "0..512";\r
+            }\r
          }\r
          leaf source-network-fqdn {\r
-            type string;\r
+            type string {\r
+                length "0..512";\r
+            }\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
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dest-vnf-id {\r
             description "For vProbe";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dest-pnf-name {\r
             description "For pProbe";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dest-p-interface {\r
             description "For pProbe; from policy manager";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dest-pnf-port-policy-name {\r
             description "For pProbe; from tosca model";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf probe-type {\r
             description "vprobe or pprobe; derived from configuration-information.configuration-sub-type";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf route-allotted-resource-id {\r
             description "For vProbe";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          container source-vnfc-instance-group-id {\r
             leaf service-instance-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf nfc-naming-code {\r
-               type string;\r
+               description "Set to nfc-naming-code";\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf instance-group-role {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf configuration-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
          container dest-vnfc-instance-group-id {\r
             leaf service-instance-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf nfc-naming-code {\r
-               type string;\r
+               description "Set to nfc-naming-code";\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf instance-group-role {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf configuration-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\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
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                   mandatory true;\r
                }\r
                leaf source-port-name {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf source-vserver-id {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf dest-vserver-id {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf dest-port-id {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf dest-port-name {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf link-name {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                container dest-ip-addresses {\r
                   uses ip-addresses;\r
@@ -2015,23 +2541,31 @@ module GENERIC-RESOURCE-API {
    grouping gc-request-input {\r
       container gc-request-input {\r
          leaf vnf-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vf-module-id {\r
             description "This is mandatory in case of rebuild";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          container input-parameters {\r
             uses param;\r
          }\r
          leaf rebuild {\r
             description "Value will indicate what to rebuild";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          list configuration-ids {\r
             key "configuration-id";\r
             leaf configuration-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
          }\r
       }\r
@@ -2039,33 +2573,51 @@ module GENERIC-RESOURCE-API {
    grouping vnr-parameters {\r
       container vnr-parameters {\r
          leaf vnf-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vf-module-id {\r
             description "This is mandatory in case of rebuild";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vnf-service-instance-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-collection-service-instance-id {\r
             description "service instance id that created network-collection";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-instance-group-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vnfc-instance-group-function {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf network-instance-group-function {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf parent-port-role {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf upper-tag-id {\r
             type uint32;\r
@@ -2190,30 +2742,46 @@ module GENERIC-RESOURCE-API {
    grouping vnf-vnr-rebuild-data {\r
       container vnf-vnr-rebuild-data {\r
          leaf vnf-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vnf-service-instance-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          list vnrs-data {\r
             key "configuration-id";\r
             leaf configuration-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf network-instance-group-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf network-id {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf vnfc-instance-group-function {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf network-instance-group-function {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf parent-port-role {\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf upper-tag-id {\r
                type uint32;\r
@@ -2227,15 +2795,21 @@ module GENERIC-RESOURCE-API {
    grouping allotted-resource-information {\r
       container allotted-resource-information {\r
          leaf allotted-resource-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf allotted-resource-type {\r
             description "Not an enum, but expected values are contrail-route and security-zone.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf parent-service-instance-id {\r
             description "Service-instance-id of the parent service to which this allotted resource belongs.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses onap-model-information;\r
       }\r
@@ -2243,23 +2817,33 @@ module GENERIC-RESOURCE-API {
    grouping allotted-resource-identifiers {\r
       container allotted-resource-identifiers {\r
          leaf allotted-resource-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf allotted-resource-name {\r
             description "For a contrail-route, the network policy name.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf allotted-resource-type {\r
             description "(Added in draft 32)Expected to be contrail-route or security-zone.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf consuming-service-instance-id {\r
             description "The service-instance-id of the consuming service of this allotted resource";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf parent-service-instance-id {\r
             description "Service-instance-id of the parent service to which this allotted resource belongs.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -2271,13 +2855,19 @@ module GENERIC-RESOURCE-API {
    grouping allotted-resource-status {\r
       container allotted-resource-status {\r
          leaf response-code {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf response-message {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf final-indicator {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf request-status {\r
             type enumeration {\r
@@ -2288,10 +2878,14 @@ module GENERIC-RESOURCE-API {
          }\r
          leaf action {\r
             description "value would one of possible request-actions; match the list in service-data oper-status";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf rpc-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf rpc-action {\r
             description "this is the svc-action from the incoming request";\r
@@ -2305,25 +2899,35 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf response-timestamp {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
    grouping configuration-information {\r
       container configuration-information {\r
          leaf configuration-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf configuration-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf configuration-type {\r
             description "Not an enum, but expected values are port-mirror-configuration, vlan-network-receptor";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf configuration-sub-type {\r
             description "e.g. vprobe and pprobe when configuration-type=port-mirror-configuration";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses onap-model-information;\r
       }\r
@@ -2331,22 +2935,32 @@ module GENERIC-RESOURCE-API {
    grouping configuration-identifiers {\r
       container configuration-identifiers {\r
          leaf configuration-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf configuration-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf configuration-type {\r
             description "Not an enum, but expected values are port-mirror-configuration.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf configuration-sub-type {\r
             description " vprobe and pprobe";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\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
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -2358,13 +2972,19 @@ module GENERIC-RESOURCE-API {
    grouping configuration-status {\r
       container configuration-status {\r
          leaf response-code {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf response-message {\r
-            type string;\r
+            type string {\r
+                length "0..2000";\r
+            }\r
          }\r
          leaf final-indicator {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf request-status {\r
             type enumeration {\r
@@ -2375,10 +2995,14 @@ module GENERIC-RESOURCE-API {
          }\r
          leaf action {\r
             description "value would one of possible request-actions; match the list in service-data oper-status";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf rpc-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf rpc-action {\r
             description "this is the svc-action from the incoming request";\r
@@ -2394,33 +3018,45 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf response-timestamp {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\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
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf response-code {\r
          description "a success code or an defined error codeKeep as M";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf response-message {\r
          description "message included for error code";\r
-         type string;\r
+         type string {\r
+             length "0..2000";\r
+         }\r
       }\r
       leaf ack-final-indicator {\r
          description "Expected to be Y or N.";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
    }\r
    grouping sdnc-request-header {\r
       container sdnc-request-header {\r
          leaf svc-request-id {\r
             description "Uniquely generated by calling system (e.g. MSO or SDN-GP)";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf svc-action {\r
             description "This is the rpcAction";\r
@@ -2444,7 +3080,9 @@ module GENERIC-RESOURCE-API {
          }\r
          leaf svc-notification-url {\r
             description "Contains URL for asynchronous response";\r
-            type string;\r
+            type string {\r
+                length "0..512";\r
+            }\r
          }\r
       }\r
    }\r
@@ -2452,7 +3090,9 @@ module GENERIC-RESOURCE-API {
       container request-information {\r
          leaf request-id {\r
             description "Request ID generated upstream of MSO";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf request-action {\r
             description "still need to work Disconnect";\r
@@ -2553,16 +3193,24 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf source {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf notification-url {\r
-            type string;\r
+            type string {\r
+                length "0..512";\r
+            }\r
          }\r
          leaf order-number {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf order-version {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -2570,23 +3218,33 @@ module GENERIC-RESOURCE-API {
       container service-information {\r
          leaf service-id {\r
             description "This maps to the product-family-id in A&AI";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf subscription-service-type {\r
             description "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          uses onap-model-information;\r
          leaf service-instance-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf global-customer-id {\r
             description "need for put of data to AnAI (MSO provides)";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf subscriber-name {\r
             description "Would not be expected for vIPR-ATM or mobility services.";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -2594,67 +3252,94 @@ module GENERIC-RESOURCE-API {
       container onap-model-information {\r
          leaf model-invariant-uuid {\r
             description "identifies the invariant uuid for this service or resource";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf model-customization-uuid {\r
             description "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf model-uuid {\r
             description "identifies the uuid for this service or resource, which is version specific";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf model-version {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf model-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
    grouping region-identifier {\r
       leaf tenant {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf aic-cloud-region {\r
          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
+          type string {\r
+              length "0..255";\r
+          }\r
       }\r
       leaf aic-clli {\r
          description "Not expected to be used";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
    }\r
    grouping param {\r
       list param {\r
          key "name";\r
          leaf name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf value {\r
-            type string;\r
+            type string {\r
+                length "0..20000";\r
+            }\r
          }\r
          container resource-resolution-data {\r
             list resource-key {\r
                key "name";\r
                leaf name {\r
-                  type string;\r
+                  type string {\r
+                      length "0..255";\r
+                  }\r
                }\r
                leaf value {\r
-                  type string;\r
+                  type string {\r
+                      length "0..20000";\r
+                  }\r
                }\r
             }\r
             leaf status {\r
                description "SUCCESS, FAILED, or PENDING - RA returned data as capability";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf capability-name {\r
                description "Resource assignment resolution Capability name";\r
-               type string;\r
+               type string {\r
+                   length "0..255";\r
+               }\r
             }\r
             leaf payload {\r
                type string;\r
@@ -2682,11 +3367,15 @@ module GENERIC-RESOURCE-API {
    }\r
    grouping instance-reference {\r
       leaf instance-id {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf object-path {\r
          description "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/";\r
-         type string;\r
+         type string {\r
+             length "0..512";\r
+         }\r
       }\r
    }\r
    grouping oper-status-data {\r
@@ -2813,7 +3502,9 @@ module GENERIC-RESOURCE-API {
       }\r
       leaf last-svc-request-id {\r
          description "Not currently populated in service data.";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf last-order-status {\r
          type enumeration {\r
@@ -2828,10 +3519,14 @@ module GENERIC-RESOURCE-API {
       }\r
       leaf create-timestamp {\r
          description "Not currently populated in service data.";\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf modify-timestamp {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
    }\r
    grouping service-response-information {\r
@@ -2904,12 +3599,16 @@ module GENERIC-RESOURCE-API {
          key "preload-id preload-type";\r
          leaf preload-id {\r
             description "vf-module-name or network name";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf preload-type {\r
             description "network or vf-module";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          uses preload-data;\r
@@ -2950,10 +3649,14 @@ module GENERIC-RESOURCE-API {
             type inet:ip-address;\r
          }\r
          leaf cidr-mask {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf ip-version {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dhcp-enabled {\r
             type enumeration {\r
@@ -2962,10 +3665,14 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf dhcp-start-address {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf dhcp-end-address {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf addr-from-start {\r
             description "Default is N";\r
@@ -2975,10 +3682,14 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf subnet-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf subnet-role {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf subnet-sequence {\r
             type uint8;\r
@@ -2989,20 +3700,30 @@ module GENERIC-RESOURCE-API {
       list vpn-bindings {\r
          key "vpn-binding-id";\r
          leaf vpn-binding-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf vpn-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf global-route-target {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf route-target-role {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf aic-zone {\r
             description "AIC Zone the route target associated with";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -3010,10 +3731,14 @@ module GENERIC-RESOURCE-API {
       list network-policy {\r
          key "network-policy-fqdn";\r
          leaf network-policy-fqdn {\r
-            type string;\r
+            type string {\r
+                length "0..512";\r
+            }\r
          }\r
          leaf network-policy-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -3021,17 +3746,23 @@ module GENERIC-RESOURCE-API {
       list route-table-reference {\r
          key "route-table-reference-fqdn";\r
          leaf route-table-reference-fqdn {\r
-            type string;\r
+            type string {\r
+                length "0..512";\r
+            }\r
             mandatory true;\r
          }\r
          leaf route-table-reference-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
    grouping provider-network-information {\r
       leaf physical-network-name {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf is-provider-network {\r
          type boolean;\r
@@ -3039,7 +3770,7 @@ 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
@@ -3047,11 +3778,15 @@ module GENERIC-RESOURCE-API {
       list host-routes {\r
          key "route-prefix";\r
          leaf route-prefix {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf next-hop {\r
             description "Could be ip-address or hostname or service-instance";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
       }\r
    }\r
@@ -3076,7 +3811,9 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf last-svc-request-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf last-order-status {\r
             type enumeration {\r
@@ -3089,10 +3826,14 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          leaf create-timestamp {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf modify-timestamp {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf maintenance-indicator {\r
             type enumeration {\r
@@ -3104,16 +3845,24 @@ module GENERIC-RESOURCE-API {
    }\r
    grouping preload-topology-response-body {\r
       leaf svc-request-id {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf response-code {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
       leaf response-message {\r
-         type string;\r
+         type string {\r
+             length "0..2000";\r
+         }\r
       }\r
       leaf ack-final-indicator {\r
-         type string;\r
+         type string {\r
+             length "0..255";\r
+         }\r
       }\r
    }\r
    rpc generic-configuration-notification {\r
@@ -3125,7 +3874,9 @@ module GENERIC-RESOURCE-API {
          uses topology-response-common;\r
          leaf configuration-topology-link {\r
             description "Returns URL to generic-configuration-topology ";\r
-            type string;\r
+            type string {\r
+                length "0..512";\r
+            }\r
          }\r
          uses vnr-parameters;\r
          uses vnf-vnr-rebuild-data;\r
@@ -3138,7 +3889,9 @@ module GENERIC-RESOURCE-API {
       list contrail-route-allotted-resource {\r
          key "allotted-resource-id";\r
          leaf allotted-resource-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          container allotted-resource-data {\r
@@ -3155,7 +3908,9 @@ module GENERIC-RESOURCE-API {
       list security-zone-allotted-resource {\r
          key "allotted-resource-id";\r
          leaf allotted-resource-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          container allotted-resource-data {\r
@@ -3235,7 +3990,9 @@ module GENERIC-RESOURCE-API {
       list port-mirror-configuration {\r
          key "configuration-id";\r
          leaf configuration-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          container configuration-data {\r
@@ -3252,7 +4009,9 @@ module GENERIC-RESOURCE-API {
       list gc-configuration {\r
          key "configuration-id";\r
          leaf configuration-id {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          container configuration-data {\r
@@ -3357,25 +4116,35 @@ module GENERIC-RESOURCE-API {
    rpc policy-update-notify-operation {\r
       input {\r
          leaf policy-name {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf version-id {\r
             description "Map JSON versionNo to version-id";\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
          leaf update-type {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
             mandatory true;\r
          }\r
       }\r
       output {\r
          leaf error-code {\r
-            type string;\r
+            type string {\r
+                length "0..255";\r
+            }\r
          }\r
          leaf error-msg {\r
-            type string;\r
+            type string {\r
+                length "0..2000";\r
+            }\r
          }\r
       }\r
    }\r