Added context-reference statements to the YANG models.
[controller.git] / opendaylight / md-sal / model / model-flow-service / src / main / yang / flow-node-inventory.yang
1 module flow-node-inventory {
2     namespace "urn:opendaylight:flow:inventory";
3     prefix flownode;
4
5     import yang-ext {prefix ext;}
6     import ietf-inet-types {prefix inet;}
7     import ietf-yang-types {prefix yang;}
8     import opendaylight-port-types {prefix port;}
9     import opendaylight-inventory {prefix inv;}
10     
11     revision "2013-08-19" {
12         description "Flow Capable Node extensions to the nventory model";
13     }
14     
15     
16     grouping feature {
17         leaf support-state {
18             type inv:support-type;
19         }
20     }
21
22     grouping queue {
23          leaf queue-id {
24             type uint32;
25             description "id for the specific queue";
26             mandatory true; 
27         }
28         container properties {
29             leaf minimum-rate {
30                 type uint32;
31             }
32             leaf maximum-rate{
33                 type uint32;
34             }
35         }
36     }
37
38     grouping table {
39
40
41     }
42
43     grouping flow-node {
44
45         leaf manufacturer {
46             type string;
47         }
48         leaf hardware {
49             type string;
50         }
51         leaf software {
52             type string;
53         }
54         leaf serial-number {
55             type string;
56         }
57         leaf description {
58             type string;
59         }
60
61         container tables {
62             uses feature;
63             list table {
64                 uses table;
65             }
66         }
67         
68         container group-tables {
69             uses feature;
70         }
71         
72         container supported-match-types {
73             list match-type {
74                 uses feature;
75                 leaf match {
76                     type string; // FIXME: Add identity
77                 }
78                 
79             }
80         }
81         
82         container supported-instructions {
83             list instruction-type {
84                 uses feature;
85                 leaf instruction {
86                     type string; // FIXME: Add identity
87                 }
88             }
89         }
90
91         container supported-actions {
92             list action-type {
93                 uses feature;
94
95                 leaf action {
96                     type string; // FIXME: Add identity
97                 }
98             }
99         }
100     }
101     
102     grouping flow-node-connector {
103
104         uses port:flow-capable-port;
105     }
106
107     augment "/inv:nodes/inv:node" {
108         ext:augment-identifier "flow-capable-node";
109         uses flow-node;
110     }
111
112     augment "/inv:nodes/inv:node/inv:node-connector" {
113         ext:augment-identifier "flow-capable-node-connector";
114         uses flow-node-connector;
115     }
116
117     augment "/inv:node-updated" {
118         ext:augment-identifier "flow-capable-node-updated";
119         uses flow-node;
120     }
121
122     augment "/inv:node-updated/inv:node-connector" {
123         //ext:identical-augment "flow-capable-node-connector";
124         ext:augment-identifier "flow-capable-node-connector-update-fields";
125         uses flow-node-connector;
126     }
127
128     augment "/inv:node-connector-updated" {
129         ext:augment-identifier "flow-capable-node-connector-updated";
130         uses flow-node-connector;
131     }
132 }