add python compatibility module
[ccsdk/apps.git] / sdnr / model / yang / ltp-path@2017-05-26.yang
1 module ltp-path {
2   namespace "urn:onf:params:xml:ns:yang:ltp-path";
3   prefix ltp-path;
4
5   import core-model {
6     prefix core-model;
7   }
8
9   organization
10    "ONF (Open Networking Foundation) Open Transport Working Group -
11     Wireless Transport Project";
12   contact 
13     "WG Web: <https://www.opennetworking.org/technical-communities/areas/
14               specification/1931-optical-transport>
15      WG List:  <mailto:wireless-transport@login.opennetworking.org>
16      WG Chair: Lyndon Ong
17                <mailto:lyong@ciena.com>
18      WG Chair: Giorgio Cazzaniga
19                <mailto:giorgio.cazzaniga@sm-optics.com>
20      Editor:   Martin Skorupski
21                <mailto:martin.skorupski@highstreet-technologies.com>";
22   description 
23     "This module contains a collection of YANG definitions describing a 
24      telecommunication network path.";
25  
26   revision 2017-05-26 {
27     description "Initial version";
28     reference "ltp-path, ONF core-model 1.2";
29   }
30
31   typedef layer-protocol-name-enumeration {
32     type enumeration {
33       enum ETH {
34         value 1;
35         description
36           "Identifying the layer of Ethernet.";
37       }
38       enum PTP {
39         value 2;
40         description
41           "Identifying the layer or the Precision Time Protocol.";
42        }
43     }
44
45     description
46       "The propagation of the layer protocol name.";
47   }
48
49   container ltp-path {
50     description
51       "Listing all the path-identifiers, used by RESTCONF interfaces to
52        address an entry in the ltp-path-list.";
53
54     leaf-list path-identifier {
55       type leafref {
56         path '/ltp-path/ltp-path-list/path-id';
57       }
58       description 
59         "List of reference values for existing path entries.";
60     }
61
62     list ltp-path-list {
63
64       key "path-id";
65
66       description
67         "A list of path found in the network.";
68
69       leaf path-id {
70         type string;
71         description
72           "A unique identifier of a path. It migth be beneficial to use the 
73            format as defined in RFC 4122 
74            (https://www.ietf.org/rfc/rfc4122.txt).";
75       }
76
77       leaf path-name {
78         type string;
79         description
80           "The human readable name of a path. It should include start 
81            and end point.";
82       }
83
84       leaf forwarding-direction {
85         type core-model:forwarding-direction;
86         description
87           "Defines the directionality of the path.";
88       }
89
90       leaf layer-protocol-name {
91         type layer-protocol-name-enumeration;
92         description
93           "Defines the layer of the path. Please see ONF CoreModel for 
94            further details.";
95       }
96
97       list logical-termination-point-list {
98
99         key "ltp-index";
100         min-elements 2;
101
102         description
103           "An ordered list of logical-termination points, defining the path.";
104
105         leaf ltp-index {
106           type string;
107           description
108             "The index of the LTP with in the list. The LTP with the highest
109              index is the end-point of the path. The LTP with the lowest
110              index is the start-point of the path.";
111         }
112
113         leaf ltp-reference {
114           type leafref {
115             path '/core-model:network-element/core-model:ltp/core-model:uuid';
116           }
117           description
118             "The reference value of a network-elements LTP.";
119         }
120
121         leaf physical-port-reference {
122           type string;
123           description
124             "A text label for the unmodelled physical port associated with 
125              the LTP. In many cases there is no associated physical port.";
126         }
127     
128         leaf node-reference {
129           type leafref {
130             path '/core-model:network-element/core-model:uuid';
131           }
132           description
133             "A reference value identifying a network-element.";
134         }
135       }
136    }
137   }
138 }