--- /dev/null
+module foo {
+ namespace foo;
+ prefix foo;
+
+ revision 2017-01-20;
+
+ deviation "/my-leaf" {
+ deviate replace {
+ type uint32;
+ default 10;
+ units bytes;
+ }
+ }
+
+ deviation "/my-leaf-list-test" {
+ deviate replace {
+ min-elements 3;
+ max-elements 6;
+ config true;
+ }
+ }
+
+ deviation "/my-choice" {
+ deviate replace {
+ mandatory false;
+ foo:custom-property "new arg";
+ }
+ }
+
+ extension custom-property {
+ argument name;
+ }
+
+ leaf my-leaf {
+ type int32;
+ default 100;
+ units kilobytes;
+ }
+
+ leaf-list my-leaf-list-test {
+ type string;
+ min-elements 5;
+ max-elements 10;
+ config false;
+ }
+
+ choice my-choice {
+ mandatory true;
+ foo:custom-property "original arg";
+ case c1 {
+ leaf c1-leaf {
+ type string;
+ }
+ }
+
+ case c2 {
+ leaf c2-leaf {
+ type string;
+ }
+ }
+ }
+
+ container my-cont {
+ uses my-grouping {
+ refine my-used-leaf {
+ default "def-val-added-by-refine";
+ foo:custom-property "arg";
+ }
+ }
+ }
+
+ augment "/my-cont" {
+ leaf my-aug-leaf {
+ type int32;
+ default "def-val";
+ units "minutes";
+ foo:custom-property "arg";
+ }
+ }
+
+ deviation "/my-cont/my-aug-leaf" {
+ deviate replace {
+ type uint32;
+ default "new-def-val";
+ units "seconds";
+ foo:custom-property "new arg";
+ }
+ }
+
+ grouping my-grouping {
+ leaf my-used-leaf {
+ type int32;
+ units "days";
+ }
+ }
+
+ deviation "/my-cont/my-used-leaf" {
+ deviate replace {
+ type uint32;
+ default "new-def-val";
+ foo:custom-property "new arg";
+ units "weeks";
+ }
+ }
+}
\ No newline at end of file