7501d8a579293d9bfdcd23e875614c2a0b72667c
[controller.git] / opendaylight / md-sal / model / model-flow-service / src / main / yang / flow-service.yang
1 module sal-flow {
2     namespace "urn:opendaylight:flow:service";
3     prefix flow;
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 ietf-inet-types {prefix inet; revision-date "2010-09-24";}
8     import opendaylight-flow-types {prefix types;revision-date "2013-10-26";}
9
10
11     revision "2013-08-19" {
12         description "Initial revision of flow service";
13     }
14
15
16     typedef flow-table-ref {
17         type instance-identifier;
18     }
19     
20     grouping node-flow {
21         uses "inv:node-context-ref";
22
23         leaf flow-table {
24             type flow-table-ref;
25         }
26         uses types:flow;
27     }
28
29     /** Base configuration structure **/
30     grouping flow-update {
31         uses "inv:node-context-ref";
32
33         container original-flow {
34             uses types:flow;
35         }
36         container updated-flow {
37             uses types:flow;
38         }
39     }
40
41     rpc add-flow {
42         input {
43             uses node-flow;
44         }
45     }
46
47     rpc remove-flow {
48         input {
49             uses node-flow;
50         }
51     }
52
53     rpc update-flow {
54         input {
55             uses flow-update;
56         }
57     }
58
59     notification flow-added {
60         uses node-flow;
61     }
62
63     notification flow-updated {
64         uses node-flow;
65     }
66
67     notification flow-removed {
68         uses node-flow;
69     }
70 }