Introduce top-level pom file.
[mdsal.git] / binding / mdsal-binding-generator-impl / src / test / resources / augment-test-models / abstract-topology@2013-02-08.yang
1 module abstract-topology {
2     yang-version 1;
3     namespace "urn:model:abstract:topology";
4     prefix "tp";
5
6     revision "2013-02-08" {
7         reference "http://www.opendaylight.org/";
8     }
9     
10     typedef node-id-ref {
11         type leafref {
12             path "/tp:topology/tp:network-nodes/tp:network-node/tp:node-id";
13         }
14         description "This type is used for leafs that reference network node instance.";
15     }
16
17     typedef link-id-ref {
18         type leafref {
19             path "/tp:topology/tp:network-links/tp:network-link/tp:link-id";
20         }
21         description "This type is used for leafs that reference network link instance.";
22     }
23
24     container topology {
25         description "This is the model of abstract topology which contains 
26         only Network Nodes and Network Links. Each topology MUST be identified by unique 
27         topology-id for reason that the store could contain many topologies.";
28
29         leaf topology-id {
30             type string;
31             description "It is presumed that datastore will contain many topologies. 
32             To distinguish between topologies it is vital to have
33             UNIQUE topology identifier.";
34         }
35
36         container network-nodes {
37             list network-node {
38                 key "node-id";
39
40                 leaf node-id {
41                     type string;
42                     description "The Topology identifier of network-node.";
43                 }
44
45                 container attributes {
46                     description "Aditional attributes that can Network Node contains.";
47                 }
48                 description "The list of network nodes defined for topology.";
49             }
50         }
51         
52         container network-links {
53             list network-link {
54                 key "link-id";
55
56                 leaf link-id {
57                     type string;
58                     description "";
59                 }
60
61                 container source-node {
62                     leaf id {
63                         type node-id-ref;
64                         description "Source node identifier.";
65                     }
66                 }
67
68                 container destination-node {
69                     leaf id {
70                         type node-id-ref;
71                         description "Destination node identifier.";
72                     }
73                 }
74
75                 container attributes {
76                     description "Aditional attributes that can Network Link contains.";
77                 }
78                 description "The Network Link which is defined by Local (Source) and Remote (Destination) 
79                 Network Nodes. Every link MUST be defined either by identifier and
80                 his local and remote Network Nodes (In real applications it is common that 
81                 many links are originated from one node and end up in same remote node). 
82                 To ensure that we would always know to distinguish between links, every link 
83                 SHOULD have identifier.";
84             }
85         }
86     }
87 }