Fixup openflow-protocol-impl dependencies
[openflowplugin.git] / model / model-flow-service / src / main / yang / sal-group.yang
1 module sal-group {
2     namespace "urn:opendaylight:group:service";
3     prefix group;
4
5     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
6     import opendaylight-group-types {prefix group-type;revision-date "2013-10-18";}
7     import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}
8
9     description "Openflow group management.";
10
11     revision "2013-09-18" {
12         description "Initial revision of group service";
13     }
14
15     grouping node-group {
16         description "Basic group structure suitable for rpc input (contains node-context).";
17         uses "inv:node-context-ref";
18         uses group-type:group;
19     }
20
21     grouping group-update {
22         description "DataStore aware update group structure suitable for rpc input (contains node-context).";
23         uses "inv:node-context-ref";
24
25         container original-group {
26             uses group-type:group;
27         }
28         container updated-group {
29             uses group-type:group;
30         }
31     }
32
33     rpc add-group {
34         description "Adding group to openflow device";
35         input {
36             uses tr:transaction-metadata;
37             leaf group-ref {
38                 type group-type:group-ref;
39             }
40             uses node-group;
41         }
42         output {
43             uses tr:transaction-aware;
44         }
45     }
46
47     rpc remove-group {
48         description "Removing group from openflow device";
49         input {
50             uses tr:transaction-metadata;
51             leaf group-ref {
52                 type group-type:group-ref;
53             }
54             uses node-group;
55         }
56         output {
57             uses tr:transaction-aware;
58         }
59     }
60
61     rpc update-group {
62         description "Updating group on openflow device";
63         input {
64             uses tr:transaction-metadata;
65             leaf group-ref {
66                 type group-type:group-ref;
67             }
68             uses group-update;
69         }
70         output {
71             uses tr:transaction-aware;
72         }
73     }
74 }