External api proposal
[openflowplugin.git] / model / model-flow-service / src / main / yang / sal-port.yang
1 module sal-port {
2     namespace "urn:opendaylight:port:service";
3     prefix port;
4
5     import yang-ext {prefix ext; revision-date "2013-07-09";}
6     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
7     import opendaylight-port-types {prefix port-type;revision-date "2013-09-25";}
8     import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}
9
10     description "Openflow port management.";
11
12     revision "2013-11-07" {
13         description "Initial revision of port service";
14     }        
15     
16     grouping node-port {
17         description "Openflow port configuration structure suitable for rpc (contains node-context-ref).";
18
19         uses "inv:node-context-ref";
20         uses port-type:flow-port-status;
21     }
22
23     /** Base configuration structure **/
24     grouping port-update {
25         description "DataStore aware openflow port configuration update structure suitable for rpc (contains node-context-ref).";
26
27         uses "inv:node-context-ref";
28
29         container original-port {
30             uses port-type:port-mod;
31         }
32         container updated-port {
33             uses port-type:port-mod;
34         }
35     }
36
37     rpc update-port {
38         description "Updating port on openflow device.";
39         input {
40             uses port-update;
41             uses tr:transaction-aware;
42         }
43         output {
44             uses tr:transaction-aware;
45         }
46     }
47     
48     notification port-updated {
49         status deprecated;
50
51         uses port-update;
52         uses tr:transaction-aware;
53     }
54     
55     notification port-removed {
56         status deprecated;
57
58         uses node-port;       
59     }
60 }