YANGTOOLS-706: Split out yang-parser-rfc7950
[yangtools.git] / yang / yang-parser-rfc7950 / src / test / resources / semantic-statement-parser / simple-types.yang
1 module simple-types {
2
3     yang-version 1;
4     namespace "urn:simple.types";
5     prefix "st";
6
7     organization "opendaylight";
8     contact "WILL-BE-DEFINED-LATER";
9     revision 2015-04-16;
10
11     typedef myint8 {
12         type int8 {
13             range "1..20";
14         }
15     }
16
17     identity my-base;
18
19     typedef myint32 {
20          type int32 {
21             range "1..2000";
22          }
23     }
24
25     container mycontainer {
26        leaf mynumerical {
27           type int32 {
28             range "1..3000";
29           }
30        }
31
32        leaf mynorestrictions {
33            type string;
34        }
35
36        leaf mytypedefuse1 {
37            type myint32;
38        }
39
40        leaf mytypedefuse2 {
41            type myint8;
42        }
43
44         leaf myunion {
45             type union {
46                 type int8;
47                 type int32;
48             }
49         }
50
51         leaf mydecimal64 {
52             type decimal64 {
53                 fraction-digits 2;
54                 range "1 .. 3.14 | 10 | 20..max";
55             }
56         }
57
58         leaf mystring {
59             type string {
60                 length "1..255";
61                 pattern "[0-9a-fA-F]*";
62             }
63         }
64
65         leaf myenum {
66             type enumeration {
67                 enum zero;
68                 enum one;
69                 enum seven {
70                     value 7;
71                 }
72             }
73         }
74
75         leaf mybits {
76             type bits {
77                 bit disable-nagle {
78                     position 0;
79                 }
80                 bit auto-sense-speed {
81                     position 1;
82                 }
83                 bit 10-Mb-only {
84                     position 2;
85                 }
86             }
87             default "auto-sense-speed";
88         }
89
90         leaf mgmt-interface {
91             type leafref {
92                path "../myenum";
93             }
94         }
95
96         leaf crypto {
97             type identityref {
98                 base "my-base";
99             }
100         }
101
102     }
103 }