Merge "Add test for generated code checking list of dependencies."
[controller.git] / opendaylight / md-sal / model / model-flow-service / src / main / yang / group-service.yang
1 module sal-group {
2     namespace "urn:opendaylight:group:service";
3     prefix group;
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-group-types {prefix group-type;revision-date 2013-10-18;}
9     import flow-capable-transaction {prefix tr;}
10
11     revision "2013-09-18" {
12         description "Initial revision of group service";
13     }        
14     
15     grouping node-group {
16         uses "inv:node-context-ref";        
17         uses group-type:group;
18     }
19
20     /** Base configuration structure **/
21     grouping group-update {
22         uses "inv:node-context-ref";
23         
24         container original-group {
25             uses group-type:group;
26         }
27         container updated-group {
28             uses group-type:group;
29         }
30     }
31
32     rpc add-group {
33         input {
34             uses tr:transaction-metadata;
35             leaf group-ref {
36                 type group-type:group-ref;
37             }
38             uses node-group;            
39         }
40         output {
41             uses tr:transaction-aware;
42         }
43     }
44
45     rpc remove-group {
46         input {
47             uses tr:transaction-metadata;
48             leaf group-ref {
49                 type group-type:group-ref;
50             }
51             uses node-group;            
52         }
53         output {
54             uses tr:transaction-aware;
55         }
56     }
57
58     rpc update-group {
59         input {
60             uses tr:transaction-metadata;
61             leaf group-ref {
62                 type group-type:group-ref;
63             }
64             uses group-update;            
65         }
66         output {
67             uses tr:transaction-aware;
68         }
69     } 
70
71     notification group-added {
72         uses tr:transaction-metadata;
73         leaf group-ref {
74             type group-type:group-ref;
75         }
76         uses node-group;
77         uses tr:transaction-aware;
78     }
79
80     notification group-updated {
81         uses tr:transaction-metadata;
82         leaf group-ref {
83             type group-type:group-ref;
84         }
85         uses node-group;
86         uses tr:transaction-aware;
87     }
88
89     notification group-removed {
90         uses tr:transaction-metadata;
91         leaf group-ref {
92             type group-type:group-ref;
93         }
94         uses node-group;
95         uses tr:transaction-aware;
96     }    
97 }

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.