github.com/openconfig/goyang@v1.4.5/pkg/yang/testdata/deviate.yang (about)

     1  module deviate {
     2      prefix "d";
     3      namespace "urn:d";
     4  
     5      typedef derived-string {
     6        type string;
     7        default "barnacles";
     8      }
     9  
    10      grouping substmts {
    11          leaf config { type string; }
    12          leaf default { type string; }
    13          leaf default-typedef { type derived-string; }
    14          leaf-list default-list { type string; default "foo"; default "bar"; }
    15          leaf-list default-list-typedef-default { type derived-string; }
    16          leaf mandatory { type string; }
    17          leaf-list max-elements { type string; }
    18          leaf-list min-elements { type string; }
    19          leaf-list max-and-min-elements { type string; }
    20          leaf type { type string; }
    21          // TODO(robjs): unique requires a list target
    22          leaf units { type uint16; }
    23      }
    24  
    25      container target {
    26          container add {
    27              uses substmts;
    28          }
    29      }
    30  
    31      deviation /target/add/config {
    32          deviate add {
    33              config false;
    34          }
    35      }
    36  
    37      deviation /target/add/default {
    38          deviate add {
    39              default "a default value";
    40          }
    41      }
    42  
    43      deviation /target/add/default-list {
    44          deviate add {
    45              default "foo";
    46              // TODO(wenovus): support multiple default statements for deviate.
    47              //default "baz";
    48          }
    49      }
    50  
    51      deviation /target/add/mandatory {
    52          deviate add {
    53              mandatory true;
    54          }
    55      }
    56  
    57      deviation /target/add/min-elements {
    58          deviate add {
    59              min-elements 42;
    60          }
    61      }
    62  
    63      deviation /target/add/max-elements {
    64          deviate add {
    65              max-elements 42;
    66          }
    67      }
    68  
    69      deviation /target/add/max-and-min-elements {
    70          deviate add {
    71              max-elements 42;
    72              min-elements 42;
    73          }
    74      }
    75  
    76      deviation /target/add/units {
    77          deviate add {
    78              units "fish per second";
    79          }
    80      }
    81  }