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