diff --git a/Makefile b/Makefile
index 1c595d7..f785a23 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@
 all: test
 
 test: # @HELP run the acceptance tests
-test: deps
+test: deps yang-lint
 
 roc-test: # @HELP run the integration tests
 roc-test: deps # @HELP run the integration tests
@@ -27,3 +27,13 @@
         BEGIN {FS = ": *# *@HELP"}; \
         {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}; \
     '
+
+yang-lint:
+	#pyang --lint ./config-models/*.x/files/yang/*.yang
+	pyang --lint ./config-models/aether-1.x/files/yang/*.yang
+	pyang --lint ./config-models/aether-2.x/files/yang/*.yang
+	pyang --lint ./config-models/aether-2.1.x/files/yang/*.yang
+	pyang --lint ./config-models/aether-2.2.x/files/yang/*.yang
+	pyang --lint ./config-models/aether-3.x/files/yang/*.yang
+	pyang --lint ./config-models/aether-4.x/files/yang/*.yang
+	pyang --lint ./config-models/plproxy-1.x/files/yang/*.yang
diff --git a/config-models/aether-1.x/Chart.yaml b/config-models/aether-1.x/Chart.yaml
index 40a8be0..01dadf4 100644
--- a/config-models/aether-1.x/Chart.yaml
+++ b/config-models/aether-1.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether
-version: 1.0.4
+version: 1.0.5
 kubeVersion: ">=1.18.0"
 appVersion: 1.0.0
 description: Aether config model
diff --git a/config-models/aether-1.x/files/yang/access-profile.yang b/config-models/aether-1.x/files/yang/access-profile.yang
index 29e10a1..cad01fc 100755
--- a/config-models/aether-1.x/files/yang/access-profile.yang
+++ b/config-models/aether-1.x/files/yang/access-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef access-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for access-profile-id";
   }
 
   container access-profile {
@@ -45,7 +46,7 @@
         }
         description "type of profile";
       }
-  
+
       leaf filter {
         type string {
           length 0..32;
@@ -60,5 +61,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-1.x/files/yang/aether-subscriber.yang b/config-models/aether-1.x/files/yang/aether-subscriber.yang
index 963217f..d4e3fbd 100644
--- a/config-models/aether-1.x/files/yang/aether-subscriber.yang
+++ b/config-models/aether-1.x/files/yang/aether-subscriber.yang
@@ -31,24 +31,28 @@
       type string {
           length 1..31;
       }
+    description "The typedef for ueid";
   }
 
   typedef mcc {
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mcc";
   }
 
   typedef mnc {
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mnc";
   }
 
   typedef tac {
       type uint32 {
         range 0..99999999;
       }
+    description "The typedef for tac";
   }
 
   container subscriber {
@@ -60,8 +64,8 @@
         "List of subscriber devices";
 
       leaf ueid {
+	type ueid;
         description "identifier for this subscriber, may or may not be an IMSI";
-        type ueid;
       }
 
       container serving-plmn {
@@ -77,6 +81,7 @@
           type tac;
           description "type allocation code";
         }
+	description "The contaiber for serving-plmn";
       }
 
       leaf requested-apn {
@@ -113,14 +118,14 @@
         leaf up-profile {
           type leafref {
             path "/up:up-profile/up:up-profile/up:id";
-          }          
+          }
           description
             "Link to user plane profile";
         }
         leaf qos-profile {
           type leafref {
             path "/qos:qos-profile/qos:qos-profile/qos:id";
-          }              
+          }
           description
             "Link to qos profile";
         }
@@ -129,7 +134,7 @@
           leaf access-profile {
             type leafref {
               path "/ap:access-profile/ap:access-profile/ap:id";
-            }            
+            }
 //            type ap:access-profile-id;
             description
                 "Link to access profile";
@@ -140,8 +145,10 @@
             description
               "Allow or disallow this ue to use this access profile";
           }
+          description "The list for access-profile";
         }
+        description "The container for profiles";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-1.x/files/yang/apn-profile.yang b/config-models/aether-1.x/files/yang/apn-profile.yang
index 20e1763..b6f1cf5 100755
--- a/config-models/aether-1.x/files/yang/apn-profile.yang
+++ b/config-models/aether-1.x/files/yang/apn-profile.yang
@@ -20,12 +20,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef apn-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for apn-profile-id";
   }
 
   container apn-profile {
@@ -78,7 +79,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-1.x/files/yang/ietf-inet-types.yang b/config-models/aether-1.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-1.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-1.x/files/yang/ietf-inet-types.yang
@@ -354,11 +354,11 @@
 
   typedef domain-name {
     type string {
+      length "1..253";
       pattern
         '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
       + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
       + '|\.';
-      length "1..253";
     }
     description
      "The domain-name type represents a DNS domain name.  The
diff --git a/config-models/aether-1.x/files/yang/qos-profile.yang b/config-models/aether-1.x/files/yang/qos-profile.yang
index 257f4ff..c0d8025 100755
--- a/config-models/aether-1.x/files/yang/qos-profile.yang
+++ b/config-models/aether-1.x/files/yang/qos-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef qos-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for qos-profile-id";
   }
 
   container qos-profile {
@@ -44,8 +45,8 @@
           type uint32 {
             range 0..4294967295;
           }
+	  units bps;
           default 0;
-          units bps;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -53,13 +54,14 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for apn-ambr";
       }
-      
+
       leaf description {
         type string {
           length 1..100;
@@ -67,5 +69,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-1.x/files/yang/up-profile.yang b/config-models/aether-1.x/files/yang/up-profile.yang
index 6a43bf4..9fac55c 100755
--- a/config-models/aether-1.x/files/yang/up-profile.yang
+++ b/config-models/aether-1.x/files/yang/up-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef up-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for up-profile-id";
   }
 
   container up-profile {
@@ -58,7 +59,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/Chart.yaml b/config-models/aether-2.1.x/Chart.yaml
index fb7fc19..93cfa93 100644
--- a/config-models/aether-2.1.x/Chart.yaml
+++ b/config-models/aether-2.1.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether-2
-version: 2.1.4
+version: 2.1.5
 kubeVersion: ">=1.18.0"
 appVersion: 2.1.0
 description: Aether config model
diff --git a/config-models/aether-2.1.x/files/yang/access-profile.yang b/config-models/aether-2.1.x/files/yang/access-profile.yang
index d58a674..080ab14 100755
--- a/config-models/aether-2.1.x/files/yang/access-profile.yang
+++ b/config-models/aether-2.1.x/files/yang/access-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef access-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for access-profile-id";
   }
 
   container access-profile {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf type {
         type string {
@@ -52,7 +53,7 @@
         }
         description "type of profile";
       }
-  
+
       leaf filter {
         type string {
           length 0..32;
@@ -67,5 +68,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/aether-subscriber.yang b/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
index 30f3e52..a3e7220 100755
--- a/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
+++ b/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
@@ -11,7 +11,7 @@
   import up-profile{ prefix up; }
   import access-profile{ prefix ap; }
   import security-profile{ prefix sec; }
-  import enterprise{ prefix ent; }  
+  import enterprise{ prefix ent; }
   import ietf-yang-types{ prefix ietf; }
 
   organization "Open Networking Foundation.";
@@ -29,18 +29,21 @@
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mcc";
   }
 
   typedef mnc {
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mnc";
   }
 
   typedef tac {
       type uint32 {
         range 0..99999999;
       }
+    description "The typedef for tac";
   }
 
   container subscriber {
@@ -52,8 +55,8 @@
         "List of subscriber devices";
 
       leaf id {
+	type ietf:uuid;
         description "identifier for this subscriber, typically a UUID";
-        type ietf:uuid;
       }
 
       leaf display-name {
@@ -61,7 +64,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }      
+      }
 
       choice imsi {
         case wildcard {
@@ -69,16 +72,20 @@
             type string {
               length 1..15;
             }
+            description "leaf for imsi-wildcard";
           }
         }
         case range {
           leaf imsi-range-from {
             type uint64;
+            description "leaf for imsi-range-from";
           }
           leaf imsi-range-to {
             type uint64;
+            description "leaf for imsi-range-to";
           }
         }
+        description "The choice for imsi";
       }
 
       container serving-plmn {
@@ -94,6 +101,7 @@
           type tac;
           description "type allocation code";
         }
+        description "The container for serving-plmn";
       }
 
       leaf requested-apn {
@@ -122,7 +130,7 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
         description
           "Link to enterprise that owns this UE range";
       }
@@ -138,14 +146,14 @@
         leaf up-profile {
           type leafref {
             path "/up:up-profile/up:up-profile/up:id";
-          }          
+          }
           description
             "Link to user plane profile";
         }
         leaf qos-profile {
           type leafref {
             path "/qos:qos-profile/qos:qos-profile/qos:id";
-          }              
+          }
           description
             "Link to qos profile";
         }
@@ -154,7 +162,7 @@
           leaf access-profile {
             type leafref {
               path "/ap:access-profile/ap:access-profile/ap:id";
-            }            
+            }
             description
                 "Link to access profile";
           }
@@ -164,15 +172,17 @@
             description
               "Allow or disallow this ue to use this access profile";
           }
+	  description "The list for access-profile";
         }
         leaf security-profile {
           type leafref {
             path "/sec:security-profile/sec:security-profile/sec:id";
-          }              
+          }
           description
             "Link to security profile";
         }
+        description "The container for profiles";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/apn-profile.yang b/config-models/aether-2.1.x/files/yang/apn-profile.yang
index 27361dc..8445cc8 100755
--- a/config-models/aether-2.1.x/files/yang/apn-profile.yang
+++ b/config-models/aether-2.1.x/files/yang/apn-profile.yang
@@ -21,12 +21,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef apn-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for apn-profile-id";
   }
 
   container apn-profile {
@@ -47,7 +48,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf apn-name {
         type string {
@@ -96,5 +97,5 @@
           "Link to service group";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/connectivity-service.yang b/config-models/aether-2.1.x/files/yang/connectivity-service.yang
index f12340b..139a93f 100755
--- a/config-models/aether-2.1.x/files/yang/connectivity-service.yang
+++ b/config-models/aether-2.1.x/files/yang/connectivity-service.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -65,7 +66,7 @@
       leaf pcrf-endpoint {
         type inet:uri;
         description "url of the pcrf service";
-      }         
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/enterprise.yang b/config-models/aether-2.1.x/files/yang/enterprise.yang
index 38cb4b8..25dd051 100755
--- a/config-models/aether-2.1.x/files/yang/enterprise.yang
+++ b/config-models/aether-2.1.x/files/yang/enterprise.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+	description "The list for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
@@ -354,11 +354,11 @@
 
   typedef domain-name {
     type string {
+      length "1..253";
       pattern
         '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
       + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
       + '|\.';
-      length "1..253";
     }
     description
      "The domain-name type represents a DNS domain name.  The
diff --git a/config-models/aether-2.1.x/files/yang/qos-profile.yang b/config-models/aether-2.1.x/files/yang/qos-profile.yang
index 5ad91b4..a150263 100755
--- a/config-models/aether-2.1.x/files/yang/qos-profile.yang
+++ b/config-models/aether-2.1.x/files/yang/qos-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef qos-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for qos-profile-id";
   }
 
   container qos-profile {
@@ -44,15 +45,15 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       container apn-ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
+	  units bps;
           default 0;
-          units bps;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -60,11 +61,12 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for apn-ambr";
       }
 
       leaf qci {
@@ -80,11 +82,11 @@
         leaf priority {
           type uint32 {
             range 0..15;
-          }          
+          }
           default 0;
           description
             "Priority";
-        }        
+        }
         leaf preemption-capability {
           type boolean;
           default true;
@@ -98,8 +100,8 @@
             "This bearer may be dropped for a bearer with higher priority";
         }
         description "Evolved-ARP";
-      }        
-      
+      }
+
       leaf description {
         type string {
           length 1..100;
@@ -107,5 +109,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/security-profile.yang b/config-models/aether-2.1.x/files/yang/security-profile.yang
index a8a3069..00413b1 100755
--- a/config-models/aether-2.1.x/files/yang/security-profile.yang
+++ b/config-models/aether-2.1.x/files/yang/security-profile.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for security-profile-id";
   }
 
   container security-profile {
@@ -41,7 +42,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf key {
         type string {
@@ -67,7 +68,7 @@
           length 1..100;
         }
         description "description of this security profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/service-group.yang b/config-models/aether-2.1.x/files/yang/service-group.yang
index 9f2e7da..8b4add1 100755
--- a/config-models/aether-2.1.x/files/yang/service-group.yang
+++ b/config-models/aether-2.1.x/files/yang/service-group.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typede for service-group-id";
   }
 
   typedef service-kind {
@@ -30,6 +31,7 @@
       length 1..32;
       pattern "default|on-demand";
     }
+    description "The typedef for service-kind";
   }
 
   container service-group {
@@ -61,20 +63,21 @@
           description
               "Link to service policy";
         }
-        leaf kind {    
+        leaf kind {
           type service-kind;
           default "default";
           description
             "Type of service link";
         }
-      }      
+        description "The container for service-policies";
+      }
 
       leaf description {
         type string {
           length 1..100;
         }
         description "description of this service group";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/service-policy.yang b/config-models/aether-2.1.x/files/yang/service-policy.yang
index a0db158..fa83a38 100755
--- a/config-models/aether-2.1.x/files/yang/service-policy.yang
+++ b/config-models/aether-2.1.x/files/yang/service-policy.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-policy-id";
   }
 
   container service-policy {
@@ -61,15 +62,15 @@
         default 9;
         description
           "Evolved-ARP";
-      }      
+      }
 
       container ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -77,11 +78,12 @@
           type uint32 {
             range 0..4294967295;
           }
+	  units bps;
           default 0;
-          units bps;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for ambr";
       }
 
       list rules {
@@ -99,7 +101,8 @@
           description
             "Enable or disable this service to use this rule";
         }
-      }       
+        description "The list for rules";
+      }
 
       leaf description {
         type string {
@@ -108,5 +111,5 @@
         description "description of this profile";
       }      
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/service-rule.yang b/config-models/aether-2.1.x/files/yang/service-rule.yang
index 5dce127..b39c9e9 100755
--- a/config-models/aether-2.1.x/files/yang/service-rule.yang
+++ b/config-models/aether-2.1.x/files/yang/service-rule.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-rule-id";
   }
 
   container service-rule {
@@ -64,11 +65,11 @@
           leaf priority {
             type uint32 {
               range 0..15;
-            }          
+            }
             default 0;
             description
               "Priority";
-          }        
+          }
           leaf preemption-capability {
             type boolean;
             default true;
@@ -89,8 +90,8 @@
             type uint32 {
               range 0..4294967295;
             }
+	    units bps;
             default 0;
-            units bps;
             description
               "Upstream maximum requested bandwidth";
           }
@@ -98,11 +99,12 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream maximum requested bandwidth";
-          }        
+          }
+          description "The container for maximum-requested-bandwidth";
         }
 
         container guaranteed-bitrate {
@@ -110,8 +112,8 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Upstream guaranteed bitrate";
           }
@@ -119,11 +121,12 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream guaranteed bitrate";
-          }        
+          }
+          description "The container for guaranteed-bitrate";
         }
 
         container aggregate-maximum-bitrate {
@@ -131,8 +134,8 @@
             type uint32 {
               range 0..4294967295;
             }
+	    units bps;
             default 0;
-            units bps;
             description
               "Upstream aggregate maximum bitrate";
           }
@@ -140,14 +143,16 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream aggregate maximum bitrate";
-          }        
+          }
+	  description "The container for aggregate-maximum-bitrate";
         }
+        description "The container for qos";
       }
-  
+
       container flow {
         leaf specification {
           type string {
@@ -155,6 +160,7 @@
           }
           description "specification of this flow";
         }
+        description "The container for flow";
       }
 
       leaf description {
@@ -162,7 +168,7 @@
           length 1..100;
         }
         description "description of this rule";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/up-profile.yang b/config-models/aether-2.1.x/files/yang/up-profile.yang
index 9a38b02..bf17f89 100755
--- a/config-models/aether-2.1.x/files/yang/up-profile.yang
+++ b/config-models/aether-2.1.x/files/yang/up-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef up-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for up-profile-id";
   }
 
   container up-profile {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf user-plane {
         type string {
@@ -65,7 +66,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/Chart.yaml b/config-models/aether-2.2.x/Chart.yaml
index cbeac17..9226faa 100644
--- a/config-models/aether-2.2.x/Chart.yaml
+++ b/config-models/aether-2.2.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether
-version: 2.2.3
+version: 2.2.4
 kubeVersion: ">=1.18.0"
 appVersion: 2.2.0
 description: Aether config model
diff --git a/config-models/aether-2.2.x/files/yang/access-profile.yang b/config-models/aether-2.2.x/files/yang/access-profile.yang
index d58a674..080ab14 100755
--- a/config-models/aether-2.2.x/files/yang/access-profile.yang
+++ b/config-models/aether-2.2.x/files/yang/access-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef access-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for access-profile-id";
   }
 
   container access-profile {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf type {
         type string {
@@ -52,7 +53,7 @@
         }
         description "type of profile";
       }
-  
+
       leaf filter {
         type string {
           length 0..32;
@@ -67,5 +68,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/aether-subscriber.yang b/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
index 30f3e52..5cfa67e 100755
--- a/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
+++ b/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
@@ -11,7 +11,7 @@
   import up-profile{ prefix up; }
   import access-profile{ prefix ap; }
   import security-profile{ prefix sec; }
-  import enterprise{ prefix ent; }  
+  import enterprise{ prefix ent; }
   import ietf-yang-types{ prefix ietf; }
 
   organization "Open Networking Foundation.";
@@ -29,18 +29,21 @@
       type uint32 {
         range 0..999;
       }
+    description "The typede for mcc";
   }
 
   typedef mnc {
       type uint32 {
         range 0..999;
       }
+    description "The typede for mnc";
   }
 
   typedef tac {
       type uint32 {
         range 0..99999999;
       }
+    description "The typede for tac";
   }
 
   container subscriber {
@@ -52,8 +55,8 @@
         "List of subscriber devices";
 
       leaf id {
-        description "identifier for this subscriber, typically a UUID";
         type ietf:uuid;
+        description "identifier for this subscriber, typically a UUID";
       }
 
       leaf display-name {
@@ -61,7 +64,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }      
+      }
 
       choice imsi {
         case wildcard {
@@ -69,16 +72,20 @@
             type string {
               length 1..15;
             }
+            description "The leaf for imsi-wildcard";
           }
         }
         case range {
           leaf imsi-range-from {
             type uint64;
+            description "The leaf for imsi-range-from";
           }
           leaf imsi-range-to {
             type uint64;
+            description "The leaf for imsi-range-to";
           }
         }
+        description "The choise for imsi";
       }
 
       container serving-plmn {
@@ -94,6 +101,7 @@
           type tac;
           description "type allocation code";
         }
+        description "The container for serving-plmn";
       }
 
       leaf requested-apn {
@@ -122,7 +130,7 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
         description
           "Link to enterprise that owns this UE range";
       }
@@ -138,14 +146,14 @@
         leaf up-profile {
           type leafref {
             path "/up:up-profile/up:up-profile/up:id";
-          }          
+          }
           description
             "Link to user plane profile";
         }
         leaf qos-profile {
           type leafref {
             path "/qos:qos-profile/qos:qos-profile/qos:id";
-          }              
+          }
           description
             "Link to qos profile";
         }
@@ -154,7 +162,7 @@
           leaf access-profile {
             type leafref {
               path "/ap:access-profile/ap:access-profile/ap:id";
-            }            
+            }
             description
                 "Link to access profile";
           }
@@ -164,15 +172,17 @@
             description
               "Allow or disallow this ue to use this access profile";
           }
+          description "The list for access-profile";
         }
         leaf security-profile {
           type leafref {
             path "/sec:security-profile/sec:security-profile/sec:id";
-          }              
+          }
           description
             "Link to security profile";
         }
+        description "The container for profiles";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/apn-profile.yang b/config-models/aether-2.2.x/files/yang/apn-profile.yang
index 27361dc..8445cc8 100755
--- a/config-models/aether-2.2.x/files/yang/apn-profile.yang
+++ b/config-models/aether-2.2.x/files/yang/apn-profile.yang
@@ -21,12 +21,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef apn-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for apn-profile-id";
   }
 
   container apn-profile {
@@ -47,7 +48,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf apn-name {
         type string {
@@ -96,5 +97,5 @@
           "Link to service group";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/connectivity-service.yang b/config-models/aether-2.2.x/files/yang/connectivity-service.yang
index f12340b..139a93f 100755
--- a/config-models/aether-2.2.x/files/yang/connectivity-service.yang
+++ b/config-models/aether-2.2.x/files/yang/connectivity-service.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -65,7 +66,7 @@
       leaf pcrf-endpoint {
         type inet:uri;
         description "url of the pcrf service";
-      }         
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/enterprise.yang b/config-models/aether-2.2.x/files/yang/enterprise.yang
index 38cb4b8..b556638 100755
--- a/config-models/aether-2.2.x/files/yang/enterprise.yang
+++ b/config-models/aether-2.2.x/files/yang/enterprise.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+        description "The list for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
@@ -354,11 +354,11 @@
 
   typedef domain-name {
     type string {
+      length "1..253";
       pattern
         '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
       + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
       + '|\.';
-      length "1..253";
     }
     description
      "The domain-name type represents a DNS domain name.  The
diff --git a/config-models/aether-2.2.x/files/yang/qos-profile.yang b/config-models/aether-2.2.x/files/yang/qos-profile.yang
index 5ad91b4..85b6630 100755
--- a/config-models/aether-2.2.x/files/yang/qos-profile.yang
+++ b/config-models/aether-2.2.x/files/yang/qos-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef qos-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for qos-profile-id";
   }
 
   container qos-profile {
@@ -44,15 +45,15 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       container apn-ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -60,11 +61,12 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for apn-ambr";
       }
 
       leaf qci {
@@ -80,11 +82,11 @@
         leaf priority {
           type uint32 {
             range 0..15;
-          }          
+          }
           default 0;
           description
             "Priority";
-        }        
+        }
         leaf preemption-capability {
           type boolean;
           default true;
@@ -98,8 +100,8 @@
             "This bearer may be dropped for a bearer with higher priority";
         }
         description "Evolved-ARP";
-      }        
-      
+      }
+
       leaf description {
         type string {
           length 1..100;
@@ -107,5 +109,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/security-profile.yang b/config-models/aether-2.2.x/files/yang/security-profile.yang
index 745b88e..e060487 100755
--- a/config-models/aether-2.2.x/files/yang/security-profile.yang
+++ b/config-models/aether-2.2.x/files/yang/security-profile.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for security-profile-id";
   }
 
   container security-profile {
@@ -77,7 +78,7 @@
           length 1..100;
         }
         description "description of this security profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/service-group.yang b/config-models/aether-2.2.x/files/yang/service-group.yang
index 9f2e7da..bb5ddf2 100755
--- a/config-models/aether-2.2.x/files/yang/service-group.yang
+++ b/config-models/aether-2.2.x/files/yang/service-group.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-group-id";
   }
 
   typedef service-kind {
@@ -30,6 +31,7 @@
       length 1..32;
       pattern "default|on-demand";
     }
+    description "The typedef for service-kind";
   }
 
   container service-group {
@@ -61,20 +63,21 @@
           description
               "Link to service policy";
         }
-        leaf kind {    
+        leaf kind {
           type service-kind;
           default "default";
           description
             "Type of service link";
         }
-      }      
+        description "The list for service-policies";
+      }
 
       leaf description {
         type string {
           length 1..100;
         }
         description "description of this service group";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/service-policy.yang b/config-models/aether-2.2.x/files/yang/service-policy.yang
index a0db158..d30f1ad 100755
--- a/config-models/aether-2.2.x/files/yang/service-policy.yang
+++ b/config-models/aether-2.2.x/files/yang/service-policy.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-policy-id";
   }
 
   container service-policy {
@@ -61,15 +62,15 @@
         default 9;
         description
           "Evolved-ARP";
-      }      
+      }
 
       container ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -77,11 +78,12 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for ambr";
       }
 
       list rules {
@@ -99,14 +101,15 @@
           description
             "Enable or disable this service to use this rule";
         }
-      }       
+        description "The list for rules";
+      }
 
       leaf description {
         type string {
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/service-rule.yang b/config-models/aether-2.2.x/files/yang/service-rule.yang
index 5dce127..efb0539 100755
--- a/config-models/aether-2.2.x/files/yang/service-rule.yang
+++ b/config-models/aether-2.2.x/files/yang/service-rule.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-rule-id";
   }
 
   container service-rule {
@@ -64,11 +65,11 @@
           leaf priority {
             type uint32 {
               range 0..15;
-            }          
+            }
             default 0;
             description
               "Priority";
-          }        
+          }
           leaf preemption-capability {
             type boolean;
             default true;
@@ -89,8 +90,8 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Upstream maximum requested bandwidth";
           }
@@ -98,11 +99,12 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream maximum requested bandwidth";
-          }        
+          }
+          description "The container for maximum-requested-bandwidth";
         }
 
         container guaranteed-bitrate {
@@ -110,8 +112,8 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Upstream guaranteed bitrate";
           }
@@ -119,11 +121,12 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream guaranteed bitrate";
-          }        
+          }
+          description "The container for guaranteed-bitrate";
         }
 
         container aggregate-maximum-bitrate {
@@ -131,8 +134,8 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Upstream aggregate maximum bitrate";
           }
@@ -140,14 +143,16 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream aggregate maximum bitrate";
-          }        
+          }
+          description "The container for aggregate-maximum-bitrate";
         }
+        description "The container for qos";
       }
-  
+
       container flow {
         leaf specification {
           type string {
@@ -155,6 +160,7 @@
           }
           description "specification of this flow";
         }
+        description "The container for flow";
       }
 
       leaf description {
@@ -162,7 +168,7 @@
           length 1..100;
         }
         description "description of this rule";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/up-profile.yang b/config-models/aether-2.2.x/files/yang/up-profile.yang
index 9a38b02..bf17f89 100755
--- a/config-models/aether-2.2.x/files/yang/up-profile.yang
+++ b/config-models/aether-2.2.x/files/yang/up-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef up-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for up-profile-id";
   }
 
   container up-profile {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf user-plane {
         type string {
@@ -65,7 +66,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/Chart.yaml b/config-models/aether-2.x/Chart.yaml
index 0378168..b7f98e5 100644
--- a/config-models/aether-2.x/Chart.yaml
+++ b/config-models/aether-2.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether
-version: 2.0.2
+version: 2.0.3
 kubeVersion: ">=1.18.0"
 appVersion: 2.0.0
 description: Aether config model
diff --git a/config-models/aether-2.x/files/yang/access-profile.yang b/config-models/aether-2.x/files/yang/access-profile.yang
index d58a674..080ab14 100755
--- a/config-models/aether-2.x/files/yang/access-profile.yang
+++ b/config-models/aether-2.x/files/yang/access-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef access-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for access-profile-id";
   }
 
   container access-profile {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf type {
         type string {
@@ -52,7 +53,7 @@
         }
         description "type of profile";
       }
-  
+
       leaf filter {
         type string {
           length 0..32;
@@ -67,5 +68,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/aether-subscriber.yang b/config-models/aether-2.x/files/yang/aether-subscriber.yang
index 30f3e52..d1f43c9 100755
--- a/config-models/aether-2.x/files/yang/aether-subscriber.yang
+++ b/config-models/aether-2.x/files/yang/aether-subscriber.yang
@@ -11,7 +11,7 @@
   import up-profile{ prefix up; }
   import access-profile{ prefix ap; }
   import security-profile{ prefix sec; }
-  import enterprise{ prefix ent; }  
+  import enterprise{ prefix ent; }
   import ietf-yang-types{ prefix ietf; }
 
   organization "Open Networking Foundation.";
@@ -29,18 +29,21 @@
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mmc";
   }
 
   typedef mnc {
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mnc";
   }
 
   typedef tac {
       type uint32 {
         range 0..99999999;
       }
+    description "The typedef for tac";
   }
 
   container subscriber {
@@ -52,8 +55,8 @@
         "List of subscriber devices";
 
       leaf id {
-        description "identifier for this subscriber, typically a UUID";
         type ietf:uuid;
+        description "identifier for this subscriber, typically a UUID";
       }
 
       leaf display-name {
@@ -61,7 +64,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }      
+      }
 
       choice imsi {
         case wildcard {
@@ -69,16 +72,20 @@
             type string {
               length 1..15;
             }
+            description "The typedef for imsi-wildcard";
           }
         }
         case range {
           leaf imsi-range-from {
             type uint64;
+            description "The typedef for imsi-range-from";
           }
           leaf imsi-range-to {
             type uint64;
+            description "The typedef for imsi-range-to";
           }
         }
+        description "The choice for imsi";
       }
 
       container serving-plmn {
@@ -94,6 +101,7 @@
           type tac;
           description "type allocation code";
         }
+        description "The container for serving-plmn";
       }
 
       leaf requested-apn {
@@ -122,7 +130,7 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
         description
           "Link to enterprise that owns this UE range";
       }
@@ -138,14 +146,14 @@
         leaf up-profile {
           type leafref {
             path "/up:up-profile/up:up-profile/up:id";
-          }          
+          }
           description
             "Link to user plane profile";
         }
         leaf qos-profile {
           type leafref {
             path "/qos:qos-profile/qos:qos-profile/qos:id";
-          }              
+          }
           description
             "Link to qos profile";
         }
@@ -154,7 +162,7 @@
           leaf access-profile {
             type leafref {
               path "/ap:access-profile/ap:access-profile/ap:id";
-            }            
+            }
             description
                 "Link to access profile";
           }
@@ -164,15 +172,17 @@
             description
               "Allow or disallow this ue to use this access profile";
           }
+          description "The list for access-profile";
         }
         leaf security-profile {
           type leafref {
             path "/sec:security-profile/sec:security-profile/sec:id";
-          }              
+          }
           description
             "Link to security profile";
         }
+        description "The container for profiles";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/apn-profile.yang b/config-models/aether-2.x/files/yang/apn-profile.yang
index df18024..9f2125e 100755
--- a/config-models/aether-2.x/files/yang/apn-profile.yang
+++ b/config-models/aether-2.x/files/yang/apn-profile.yang
@@ -20,12 +20,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef apn-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for apn-profile-id";
   }
 
   container apn-profile {
@@ -46,7 +47,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf apn-name {
         type string {
@@ -85,7 +86,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/connectivity-service.yang b/config-models/aether-2.x/files/yang/connectivity-service.yang
index 1343a0d..e86e360 100755
--- a/config-models/aether-2.x/files/yang/connectivity-service.yang
+++ b/config-models/aether-2.x/files/yang/connectivity-service.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -60,7 +61,7 @@
       leaf hss-endpoint {
         type inet:uri;
         description "url of the hss service";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/enterprise.yang b/config-models/aether-2.x/files/yang/enterprise.yang
index 38cb4b8..9bc6bbb 100755
--- a/config-models/aether-2.x/files/yang/enterprise.yang
+++ b/config-models/aether-2.x/files/yang/enterprise.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+        description "The container for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-2.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-2.x/files/yang/ietf-inet-types.yang
@@ -354,11 +354,11 @@
 
   typedef domain-name {
     type string {
+      length "1..253";
       pattern
         '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
       + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
       + '|\.';
-      length "1..253";
     }
     description
      "The domain-name type represents a DNS domain name.  The
diff --git a/config-models/aether-2.x/files/yang/qos-profile.yang b/config-models/aether-2.x/files/yang/qos-profile.yang
index 5ad91b4..85b6630 100755
--- a/config-models/aether-2.x/files/yang/qos-profile.yang
+++ b/config-models/aether-2.x/files/yang/qos-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef qos-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for qos-profile-id";
   }
 
   container qos-profile {
@@ -44,15 +45,15 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       container apn-ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -60,11 +61,12 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for apn-ambr";
       }
 
       leaf qci {
@@ -80,11 +82,11 @@
         leaf priority {
           type uint32 {
             range 0..15;
-          }          
+          }
           default 0;
           description
             "Priority";
-        }        
+        }
         leaf preemption-capability {
           type boolean;
           default true;
@@ -98,8 +100,8 @@
             "This bearer may be dropped for a bearer with higher priority";
         }
         description "Evolved-ARP";
-      }        
-      
+      }
+
       leaf description {
         type string {
           length 1..100;
@@ -107,5 +109,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/security-profile.yang b/config-models/aether-2.x/files/yang/security-profile.yang
index a8a3069..00413b1 100755
--- a/config-models/aether-2.x/files/yang/security-profile.yang
+++ b/config-models/aether-2.x/files/yang/security-profile.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for security-profile-id";
   }
 
   container security-profile {
@@ -41,7 +42,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf key {
         type string {
@@ -67,7 +68,7 @@
           length 1..100;
         }
         description "description of this security profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/up-profile.yang b/config-models/aether-2.x/files/yang/up-profile.yang
index 9a38b02..bf17f89 100755
--- a/config-models/aether-2.x/files/yang/up-profile.yang
+++ b/config-models/aether-2.x/files/yang/up-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef up-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for up-profile-id";
   }
 
   container up-profile {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf user-plane {
         type string {
@@ -65,7 +66,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/Chart.yaml b/config-models/aether-3.x/Chart.yaml
index 1d77b11..c073e1e 100644
--- a/config-models/aether-3.x/Chart.yaml
+++ b/config-models/aether-3.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether-3
-version: 3.0.14
+version: 3.0.15
 kubeVersion: ">=1.18.0"
 appVersion: 3.0.0
 description: Aether config model
diff --git a/config-models/aether-3.x/files/yang/aether-types.yang b/config-models/aether-3.x/files/yang/aether-types.yang
index fedbdc6..b8de573 100755
--- a/config-models/aether-3.x/files/yang/aether-types.yang
+++ b/config-models/aether-3.x/files/yang/aether-types.yang
@@ -21,12 +21,14 @@
       type string {
         pattern '[0-9]{3}';
       }
+    description "The typedef for mcc";
   }
 
   typedef mnc {
       type string {
         pattern '[0-9]{2,3}';
       }
+    description "The typedef for mnc";
   }
 
   typedef tac {
@@ -34,49 +36,57 @@
         length 4..8;
         pattern '[0-9A-F\.]*';
       }
+    description "The typedef for tac";
   }
 
   typedef ent {
       type uint32 {
         range 0..999;
       }
-  }  
+    description "The typedef for ent";
+  }
 
   typedef dnn {
       type string {
         length 1..32;
       }
-  }  
+    description "The typedef for dnn";
+  }
 
   typedef sst {
       type uint8 {
         range 1..255;
       }
+    description "The typedef for sst";
   }
 
   typedef sd {
       type uint32 {
         range 0..16777215;
       }
+    description "The typedef for sd";
   }
 
   typedef qci {
       type uint8 {
         range 1..32;
       }
+    description "The typedef for qci";
   }
 
   typedef pelr {
       type int8 {
         range 0..10;
       }
+    description "The typedef for pelr";
   }
 
   typedef pdb {
       type uint16 {
         range 0..1000;
       }
-  }  
+    description "The typedef for pdb";
+  }
 
   // "TCP" or "UDP"
   typedef protocol {
@@ -85,6 +95,7 @@
         pattern "TCP|UDP";
       }
       default "TCP";
+    description "The typedef for protocol";
   }
 
   // "ENABLE" | "MAINTENTANCE" | "DISABLE"
@@ -94,16 +105,19 @@
         pattern "ENABLE|MAINTENANCE|DISABLE";
       }
       default "ENABLE";
-  }  
+    description "The typedef for admin-status";
+  }
 
   typedef mtu {
       type inet:port-number;
       default 1492;
+    description "The typedef for mtu";
   }
 
   typedef description {
     type string {
       length 1..1024;
     }
+    description "The typedef for description";
   }
 }
diff --git a/config-models/aether-3.x/files/yang/ap-list.yang b/config-models/aether-3.x/files/yang/ap-list.yang
index 3c1a759..cb0ecde 100755
--- a/config-models/aether-3.x/files/yang/ap-list.yang
+++ b/config-models/aether-3.x/files/yang/ap-list.yang
@@ -13,7 +13,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether AP List is a named list of access points.";
 
   revision "2021-06-02" {
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef ap-list-id";
   }
 
   container ap-list {
@@ -52,7 +53,7 @@
           mandatory true;
           description
               "Type Allocation Code";
-        }        
+        }
         leaf enable {
           type boolean;
           default true;
@@ -61,14 +62,14 @@
         }
         description
           "List of access point addresses";
-      }        
+      }
 
       leaf display-name {
         type string {
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type at:description;
@@ -85,7 +86,7 @@
         mandatory true;
         description
           "Link to enterprise that owns this Access Point List";
-      }       
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/application.yang b/config-models/aether-3.x/files/yang/application.yang
index 2f1a4fc..fcc05e3 100755
--- a/config-models/aether-3.x/files/yang/application.yang
+++ b/config-models/aether-3.x/files/yang/application.yang
@@ -13,7 +13,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Application is an application that UE devices may
      connect to. Includes a set of endpoints where services are
      provided.";
@@ -27,6 +27,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for application-id";
   }
 
   container application {
@@ -83,7 +84,8 @@
           type at:protocol;
           description
               "Name of this endpoint";
-        }                   
+        }
+        description "The list for endpoints";
       }
 
       leaf enterprise {
@@ -95,5 +97,5 @@
           "Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/connectivity-service.yang b/config-models/aether-3.x/files/yang/connectivity-service.yang
index f3cc3fc..aa97da3 100755
--- a/config-models/aether-3.x/files/yang/connectivity-service.yang
+++ b/config-models/aether-3.x/files/yang/connectivity-service.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Connectivity service is the linkage between the
      ROC and a core that provides connectivity.";
 
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
@@ -45,7 +46,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type at:description;
@@ -70,7 +71,7 @@
       leaf core-5g-endpoint {
         type inet:uri;
         description "url of the 5g core";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/device-group.yang b/config-models/aether-3.x/files/yang/device-group.yang
index e9c1590..feb0337 100755
--- a/config-models/aether-3.x/files/yang/device-group.yang
+++ b/config-models/aether-3.x/files/yang/device-group.yang
@@ -13,7 +13,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An aether device group represents a list of device IMSIS.
      This list is expressed as a set of ranges,
          [(from_imsi, to_imsi),
@@ -33,7 +33,8 @@
         type yg:yang-identifier {
             length 1..32;
         }
-  }  
+    description "The typedef for device-group-id";
+  }
 
   container device-group {
     description "The top level container";
@@ -58,19 +59,22 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }      
-      
+      }
+
       list imsis {
         // TODO: imsi-range-from cannot be used as a list index
         key "name";
         leaf name {
           type string;
+          description "The leaf for imsi name";
         }
         leaf imsi-range-from {
           type uint64;
+	  description "The leaf for imsi-range-from";
         }
         leaf imsi-range-to {
           type uint64;
+          description "The leaf for imsi-range-to";
         }
         description
           "List of imsi ranges that comprise this group. It's acceptable for
@@ -80,7 +84,7 @@
       leaf ip-domain {
         type leafref {
           path "/ipd:ip-domain/ipd:ip-domain/ipd:id";
-        }          
+        }
         description
           "Link to ip-domain settings that determine the pool of IP addresses,
            as well as the domain resolver settings to use";
@@ -95,5 +99,5 @@
           "Link to site";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/enterprise.yang b/config-models/aether-3.x/files/yang/enterprise.yang
index 4d91f47..8128e6d 100755
--- a/config-models/aether-3.x/files/yang/enterprise.yang
+++ b/config-models/aether-3.x/files/yang/enterprise.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Enterprise is an administration entity that
      has ownership of resrouces.";
 
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -45,7 +46,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type at:description;
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+        description "The list for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/ietf-inet-types.yang b/config-models/aether-3.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-3.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-3.x/files/yang/ietf-inet-types.yang
@@ -354,11 +354,11 @@
 
   typedef domain-name {
     type string {
+      length "1..253";
       pattern
         '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
       + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
       + '|\.';
-      length "1..253";
     }
     description
      "The domain-name type represents a DNS domain name.  The
diff --git a/config-models/aether-3.x/files/yang/ip-domain.yang b/config-models/aether-3.x/files/yang/ip-domain.yang
index 7f2bf73..9efd41d 100755
--- a/config-models/aether-3.x/files/yang/ip-domain.yang
+++ b/config-models/aether-3.x/files/yang/ip-domain.yang
@@ -27,6 +27,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for ip-domain-id";
   }
 
   container ip-domain {
@@ -52,7 +53,7 @@
       leaf dnn {
         type at:dnn;
         description "DNN/APN";
-      }      
+      }
 
       leaf dns-primary {
         type inet:ip-address;
@@ -80,7 +81,7 @@
       leaf mtu {
         type at:mtu;
         description "maximum transmission unit";
-      }           
+      }
 
       leaf description {
         type at:description;
@@ -96,7 +97,7 @@
         mandatory true;
         description
           "Link to enterprise that owns this IP-Domain";
-      }         
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/site.yang b/config-models/aether-3.x/files/yang/site.yang
index 89f8fc7..5c4a31c 100755
--- a/config-models/aether-3.x/files/yang/site.yang
+++ b/config-models/aether-3.x/files/yang/site.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether site is a location where resources are deployed.";
 
   revision "2021-06-02" {
@@ -24,6 +24,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for site-id";
   }
 
   container site {
@@ -49,27 +50,27 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
+        mandatory true;
         description
           "Link to enterprise that owns this site";
-        mandatory true;          
       }
 
       container imsi-definition {
         leaf mcc {
           type at:mcc;
+	  mandatory true;
           description "mobile country code";
-          mandatory true;
         }
         leaf mnc {
           type at:mnc;
+	  mandatory true;
           description "mobile network code";
-          mandatory true;
         }
         leaf enterprise {
           type at:ent;
+	  mandatory true;
           description "enterprise-specific identifier";
-          mandatory true;
         }
         leaf format {
           type string {
@@ -89,12 +90,13 @@
           //   3 digit enterprise ID
           //   5 digit subscriber ID
         }
+        description "The container for imsi-definition";
       }
 
       leaf description {
         type at:description;
         description "description of this site";
-      }         
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/template.yang b/config-models/aether-3.x/files/yang/template.yang
index ea040e7..95bda57 100755
--- a/config-models/aether-3.x/files/yang/template.yang
+++ b/config-models/aether-3.x/files/yang/template.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "The aether vcs-template holds common parameters used
      by a virtual connectivity service. Templates are used to
      populate a VCS.";
@@ -26,6 +26,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for template-id";
   }
 
   container template {
@@ -71,15 +72,15 @@
       leaf traffic-class {
         type leafref {
           path "/tc:traffic-class/tc:traffic-class/tc:id";
-        }          
+        }
         description
           "Link to traffic class";
-      } 
+      }
 
       leaf description {
         type at:description;
         description "description of this vcs template";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/traffic-class.yang b/config-models/aether-3.x/files/yang/traffic-class.yang
index 636c816..ce9aeb5 100755
--- a/config-models/aether-3.x/files/yang/traffic-class.yang
+++ b/config-models/aether-3.x/files/yang/traffic-class.yang
@@ -11,7 +11,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "The aether traffic class associates qos constants
      with a named class of service";
 
@@ -24,6 +24,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for traffic-class-id";
   }
 
   container traffic-class {
@@ -54,17 +55,17 @@
       leaf pdb {
         type at:pdb;
         description "PDB";
-      }        
+      }
 
       leaf qci {
         type at:qci;
         description "QCI";
-      }      
+      }
 
       leaf description {
         type at:description;
         description "description of this traffic class";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/upf.yang b/config-models/aether-3.x/files/yang/upf.yang
index 1c92214..3c56722 100755
--- a/config-models/aether-3.x/files/yang/upf.yang
+++ b/config-models/aether-3.x/files/yang/upf.yang
@@ -24,6 +24,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for upf-id";
   }
 
   container upf {
@@ -75,7 +76,7 @@
         mandatory true;
         description
           "Link to enterprise that owns this Access Point List";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/vcs.yang b/config-models/aether-3.x/files/yang/vcs.yang
index ab4e370..5799143 100755
--- a/config-models/aether-3.x/files/yang/vcs.yang
+++ b/config-models/aether-3.x/files/yang/vcs.yang
@@ -8,7 +8,7 @@
 
   import template{ prefix vt; }
   import upf { prefix upf; }
-  import ap-list{ prefix apl; }    
+  import ap-list{ prefix apl; }
   import application{ prefix app; }
   import aether-types{ prefix at; }
   import device-group{ prefix dg; }
@@ -18,7 +18,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Virtual Cellular Service (VCS) is
      used to connect UE devices with applications";
 
@@ -31,6 +31,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for vcs-id";
   }
 
   container vcs {
@@ -54,13 +55,13 @@
       }
 
       list device-group {
-        key "device-group";   
+        key "device-group";
         leaf device-group {
           type leafref {
             path "/dg:device-group/dg:device-group/dg:id";
-          }          
+          }
           description
-            "Link to device group";          
+            "Link to device group";
         }
         leaf enable {
           type boolean;
@@ -71,19 +72,19 @@
         description
           "A list of device groups. Groups will only participate in
            the VCS if the enable field is set to True";
-      }         
+      }
 
       leaf template {
         type leafref {
           path "/vt:template/vt:template/vt:id";
-        }          
+        }
         description
           "Link to user vcs template that was used to initialize
            this VCS";
       }
 
       list application {
-        key "application";   
+        key "application";
         leaf application {
           type leafref {
             path "/app:application/app:application/app:id";
@@ -102,12 +103,12 @@
           "An ordered list of applications to allow and deny. The deny rules
            will be executed first, followed by the allow rules. The first rule
            to match is returned. An implicit DENY ALL lies at the end.";
-      }      
+      }
 
       leaf upf {
         type leafref {
           path "/upf:upf/upf:upf/upf:id";
-        }          
+        }
         description
           "Link to user plane that implements this vcf";
       }
@@ -115,7 +116,7 @@
       leaf ap {
         type leafref {
           path "/apl:ap-list/apl:ap-list/apl:id";
-        }          
+        }
         description
           "Link to access-point list";
       }
@@ -132,7 +133,7 @@
         mandatory true;
         description
           "Link to enterprise that owns this VCS";
-      }      
+      }
 
       // the following are populated from the template
       leaf sst {
@@ -140,7 +141,7 @@
         mandatory true;
         description "Slice/Service type. Immutable.";
       }
-      
+
       leaf sd {
         type at:sd;
         mandatory true;
@@ -167,5 +168,5 @@
       }
       // end of items populated from the template
     }
-  } 
+  }
 }
diff --git a/config-models/aether-4.x/Chart.yaml b/config-models/aether-4.x/Chart.yaml
index 416ac27..42da325 100644
--- a/config-models/aether-4.x/Chart.yaml
+++ b/config-models/aether-4.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether-4
-version: 4.0.15
+version: 4.0.16
 kubeVersion: ">=1.18.0"
 appVersion: 4.0.0
 description: Aether config model
diff --git a/config-models/aether-4.x/files/yang/ietf-inet-types.yang b/config-models/aether-4.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-4.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-4.x/files/yang/ietf-inet-types.yang
@@ -354,11 +354,11 @@
 
   typedef domain-name {
     type string {
+      length "1..253";
       pattern
         '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
       + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
       + '|\.';
-      length "1..253";
     }
     description
      "The domain-name type represents a DNS domain name.  The
diff --git a/config-models/aether-4.x/files/yang/onf-aether-types.yang b/config-models/aether-4.x/files/yang/onf-aether-types.yang
index 3672203..679648e 100755
--- a/config-models/aether-4.x/files/yang/onf-aether-types.yang
+++ b/config-models/aether-4.x/files/yang/onf-aether-types.yang
@@ -20,24 +20,28 @@
   typedef bitrate {
       type uint64 {
       }
+    description "The typedef for bitrate";
   }
 
   typedef burst {
       type uint32 {
       }
       default 625000;
+    description "The typedef for burst";
   }
 
   typedef mcc {
       type string {
         pattern '[0-9]{3}';
       }
+    description "The typedef for mcc";
   }
 
   typedef mnc {
       type string {
         pattern '[0-9]{2,3}';
       }
+    description "The typedef for mnc";
   }
 
   typedef tac {
@@ -45,54 +49,63 @@
         length 4..8;
         pattern '[0-9A-F\.]*';
       }
+    description "The typedef for tac";
   }
 
   typedef ent {
       type uint32 {
         range 0..999;
       }
-  }  
+    description "The typedef for ent";
+  }
 
   typedef dnn {
       type string {
         length 1..32;
       }
-  }  
+    description "The typedef for dnn";
+  }
 
   typedef sst {
       type uint8 {
         range 1..255;
       }
+    description "The typedef for sst";
   }
 
   typedef sd {
       type uint32 {
         range 0..16777215;
       }
+    description "The typedef for sd";
   }
 
   typedef qci {
       type uint8 {
         range 1..32;
       }
+    description "The typedef for qci";
   }
 
   typedef arp {
       type uint8 {
         range 1..15;
       }
-  }  
+    description "The typedef for arp";
+  }
 
   typedef pelr {
       type int8 {
         range 0..10;
       }
+    description "The typedef for pelr";
   }
 
   typedef pdb {
       type uint16 {
         range 0..1000;
       }
+    description "The typedef for pdb";
   }
 
   typedef priority {
@@ -100,6 +113,7 @@
       // priorities 201-255 are reserved for system use
       range 0..200;
     }
+    description "The typedef for priority";
   }
 
   // "TCP" or "UDP"
@@ -109,6 +123,7 @@
         pattern "TCP|UDP";
       }
       default "TCP";
+    description "The typedef for protocol";
   }
 
   // "ENABLE" | "MAINTENTANCE" | "DISABLE"
@@ -118,6 +133,7 @@
         pattern "ENABLE|MAINTENANCE|DISABLE";
       }
       default "ENABLE";
+    description "The typedef for admin-status";
   }
 
   typedef behavior {
@@ -125,16 +141,19 @@
         length 0..20;
         pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
       }
+    description "The typedef for behavior";
   }
 
   typedef mtu {
       type inet:port-number;
       default 1492;
+    description "The typedef for mtu";
   }
 
   typedef description {
     type string {
       length 1..1024;
     }
+    description "The typedef for description";
   }
 }
diff --git a/config-models/aether-4.x/files/yang/onf-application.yang b/config-models/aether-4.x/files/yang/onf-application.yang
index cb21a6c..e024462 100755
--- a/config-models/aether-4.x/files/yang/onf-application.yang
+++ b/config-models/aether-4.x/files/yang/onf-application.yang
@@ -28,6 +28,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for application-id";
   }
 
   container application {
@@ -112,6 +113,7 @@
           }
           description "display name to use in GUI or CLI";
         }
+        description "list for endpoint";
       }
 
       leaf enterprise {
diff --git a/config-models/aether-4.x/files/yang/onf-connectivity-service.yang b/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
index dfcd8d0..e1d53b6 100755
--- a/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
+++ b/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+   description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
diff --git a/config-models/aether-4.x/files/yang/onf-device-group.yang b/config-models/aether-4.x/files/yang/onf-device-group.yang
index 87295db..a93c295 100755
--- a/config-models/aether-4.x/files/yang/onf-device-group.yang
+++ b/config-models/aether-4.x/files/yang/onf-device-group.yang
@@ -34,6 +34,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for device-group-id";
   }
 
   container device-group {
@@ -71,9 +72,13 @@
         }
         leaf imsi-range-from {
           type uint64;
+          description
+              "value of imsi-range-from";
         }
         leaf imsi-range-to {
           type uint64;
+          description
+              "value of imsi-range-to";
         }
         leaf display-name {
           type string {
@@ -102,24 +107,24 @@
           leaf uplink {
             type at:bitrate;
             units bps;
-            description "Per-device MBR uplink data rate in bps";
             mandatory true;
+            description "Per-device MBR uplink data rate in bps";
           }
 
           leaf downlink {
             type at:bitrate;
             units bps;
-            description "Per-device MBR downlink data rate in bps";
             mandatory true;
+            description "Per-device MBR downlink data rate in bps";
           }
         }
         leaf traffic-class {
           type leafref {
             path "/tc:traffic-class/tc:traffic-class/tc:id";
           }
+          mandatory true;
           description
             "Link to traffic class";
-          mandatory true;
         }
       }
 
@@ -127,9 +132,9 @@
         type leafref {
           path "/st:site/st:site/st:id";
         }
+        mandatory true;
         description
           "Link to site";
-        mandatory true;
       }
     }
   }
diff --git a/config-models/aether-4.x/files/yang/onf-enterprise.yang b/config-models/aether-4.x/files/yang/onf-enterprise.yang
index ec61bf4..16ad5f9 100755
--- a/config-models/aether-4.x/files/yang/onf-enterprise.yang
+++ b/config-models/aether-4.x/files/yang/onf-enterprise.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Enterprise is an administration entity that
      has ownership of resrouces.";
 
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+   description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -45,7 +46,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type at:description;
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+        description "The list for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-4.x/files/yang/onf-ip-domain.yang b/config-models/aether-4.x/files/yang/onf-ip-domain.yang
index fdd8c2b..e896cc5 100755
--- a/config-models/aether-4.x/files/yang/onf-ip-domain.yang
+++ b/config-models/aether-4.x/files/yang/onf-ip-domain.yang
@@ -27,6 +27,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for ip-domain-id";
   }
 
   container ip-domain {
diff --git a/config-models/aether-4.x/files/yang/onf-site.yang b/config-models/aether-4.x/files/yang/onf-site.yang
index 7118c97..b5f22c4 100755
--- a/config-models/aether-4.x/files/yang/onf-site.yang
+++ b/config-models/aether-4.x/files/yang/onf-site.yang
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for site-id";
   }
 
   container site {
@@ -112,32 +113,34 @@
           description
             "List of edge monitoring devices";
         }
+        description
+            "container for monitoring";
       }
 
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
         }
+        mandatory true;
         description
           "Link to enterprise that owns this site";
-        mandatory true;
       }
 
       container imsi-definition {
         leaf mcc {
           type at:mcc;
-          description "mobile country code";
           mandatory true;
+          description "mobile country code";
         }
         leaf mnc {
           type at:mnc;
-          description "mobile network code";
           mandatory true;
+          description "mobile network code";
         }
         leaf enterprise {
           type at:ent;
-          description "enterprise-specific identifier";
           mandatory true;
+          description "enterprise-specific identifier";
         }
         leaf format {
           type string {
@@ -157,6 +160,7 @@
           //   3 digit enterprise ID
           //   5 digit subscriber ID
         }
+        description "container for imsi-defination";
       }
 
       leaf description {
diff --git a/config-models/aether-4.x/files/yang/onf-template.yang b/config-models/aether-4.x/files/yang/onf-template.yang
index 334dc11..bbd94ef 100755
--- a/config-models/aether-4.x/files/yang/onf-template.yang
+++ b/config-models/aether-4.x/files/yang/onf-template.yang
@@ -11,7 +11,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "The aether vcs-template holds common parameters used
      by a virtual connectivity service. Templates are used to
      populate a VCS.";
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for template-id";
   }
 
   container template {
@@ -99,5 +100,5 @@
         description "description of this vcs template";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-4.x/files/yang/onf-traffic-class.yang b/config-models/aether-4.x/files/yang/onf-traffic-class.yang
index f4f6cdf..a592267 100755
--- a/config-models/aether-4.x/files/yang/onf-traffic-class.yang
+++ b/config-models/aether-4.x/files/yang/onf-traffic-class.yang
@@ -11,7 +11,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "The aether traffic class associates qos constants
      with a named class of service";
 
@@ -24,6 +24,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for traffic-class-id";
   }
 
   container traffic-class {
@@ -71,5 +72,5 @@
         description "description of this traffic class";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-4.x/files/yang/onf-upf.yang b/config-models/aether-4.x/files/yang/onf-upf.yang
index a8a7c4c..5c8be50 100755
--- a/config-models/aether-4.x/files/yang/onf-upf.yang
+++ b/config-models/aether-4.x/files/yang/onf-upf.yang
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+   description "The typedef for upf-id";
   }
 
   container upf {
@@ -57,7 +58,7 @@
       leaf config-endpoint {
         type inet:uri;
         description "url for configuring the UPF";
-      }         
+      }
 
       leaf display-name {
         type string {
diff --git a/config-models/aether-4.x/files/yang/onf-vcs.yang b/config-models/aether-4.x/files/yang/onf-vcs.yang
index 9597f9a..c275565 100755
--- a/config-models/aether-4.x/files/yang/onf-vcs.yang
+++ b/config-models/aether-4.x/files/yang/onf-vcs.yang
@@ -29,6 +29,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for vcs-id";
   }
 
   container vcs {
@@ -132,9 +133,9 @@
         type leafref {
           path "/st:site/st:site/st:id";
         }
+	mandatory true;
         description
           "Link to site where this VCS is deployed";
-        mandatory true;
       }
 
       // the following are populated from the template
diff --git a/config-models/plproxy-1.x/Chart.yaml b/config-models/plproxy-1.x/Chart.yaml
index b0d52ae..ac62ff5 100755
--- a/config-models/plproxy-1.x/Chart.yaml
+++ b/config-models/plproxy-1.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-plproxy
-version: 1.0.0
+version: 1.0.1
 kubeVersion: ">=1.18.0"
 appVersion: 1.0.0
 description: Prom label proxy config model
diff --git a/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang b/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
index 294b5de..abc5c66 100755
--- a/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
+++ b/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
@@ -5,6 +5,7 @@
 module prom-label-proxy {
   namespace "http://opennetworking.org/promlabelproxy/config/";
   prefix plp;
+
   organization "Open Networking Foundation.";
   contact "Amit Wankhede";
   description "A Aether groups and prom label configuration";
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..f2a3656
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,3 @@
+# SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+pyang~=2.5.0
