50df56f78cea88482211ed5960ebd2d91138143a
[controller.git] / opendaylight / md-sal / samples / clustering-test-app / model / src / main / yang / car.yang
1 module car {
2
3     yang-version 1;
4
5     namespace "urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car";
6
7     prefix car;
8
9         import ietf-inet-types { prefix "inet"; revision-date 2013-07-15; }
10         
11     organization "Netconf Central";
12
13     contact
14       "Harman Singh <harmasin@cisco.com>";
15
16     description
17       "YANG model for car for test application";
18
19     revision "2014-08-18" {
20       description
21         "Clustering sample app";
22     }
23     
24     typedef car-id {
25       type inet:uri;
26       description "An identifier for car entry.";
27     }
28
29     grouping car-entry {
30       description "Describes the contents of a car entry -
31                        Details of the car manufacturer, model etc";
32       leaf id {
33         type car-id;
34         description "identifier of single list of entries.";
35       }
36
37       leaf model {
38         type string;
39       }
40       leaf manufacturer {
41         type string;
42       }
43
44       leaf year {
45         type uint32;
46       }
47
48       leaf category {
49         type string;
50       }
51     }
52     
53     container cars {
54       description
55         "Top-level container for all car objects.";
56       list car-entry {
57         key "id";
58         description "A list of cars (as defined by the 'grouping car-entry').";
59         uses car-entry;
60       }
61     }
62     
63     rpc stress-test {
64         input {
65             leaf rate {
66               type uint16;
67               description "The rate is a measure of the number of car-entry(s) added per second.
68                            Thus the rate is measured in terms of transactions per second.  The
69                            rate is not necessary achievable;  the controller may not keep up with
70                            the specified value.  In this instance, rate is considered maximum rate.";
71             }
72
73             leaf count {
74               type uint32;
75               default 0;
76               description "Number of cars to create. Zero implies unlimited cars; use
77                            stop-stress-test rpc to stop the test.";
78             }
79         }
80     }
81     
82     rpc stop-stress-test {
83         output {
84             leaf success-count {
85               type uint32;
86               default 0;
87               description "Total number of cars created when running stess-test rpc";
88             }
89
90             leaf failure-count {
91               type uint32;
92               default 0;
93               description "Total number of cars failed when running stess-test rpc";
94             }
95         }
96     }
97
98     rpc register-ownership {
99         input {
100             leaf car-id {
101                 type string;
102               }
103         }
104     }
105     
106     rpc unregister-ownership {
107         input {
108             leaf car-id {
109                 type string;
110               }
111         }
112     }
113
114     rpc register-logging-dcl {
115         description "Registers a basic logging DCL on the cars container.  This is useful
116                     for analyzing effects of DCL on a long, flat list.";
117     }
118
119     rpc unregister-logging-dcls {
120         description "Unregisters the logging DCL(s) for the cars container.";
121     }
122
123     rpc register-logging-dtcl {
124         description "Registers a basic logging DTCL on the cars container.  This is useful
125                             for analyzing the effects of DTCL on a long, flat list.";
126     }
127
128     rpc unregister-logging-dtcls {
129         description "Unregisters the logging DTCL(s) for the cars container.";
130     }
131
132     rpc register-commit-cohort {
133         description "Registers a sample commit cohort that validates car entry input.";
134     }
135
136     rpc unregister-commit-cohort {
137         description "Unregisters the sample commit cohort.";
138     }
139
140 }

©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.