Merge changes Ibe016728,Ic719c519,I87a81a54
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / main / yang / opendaylight-rest-connector.yang
1 module opendaylight-rest-connector {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:rest:connector";
4     prefix "md-sal-rest-connector";
5
6     import config { prefix config; revision-date 2013-04-05; }
7     import opendaylight-md-sal-dom {prefix dom; revision-date 2013-10-28;}
8     import opendaylight-md-sal-binding {prefix sal; revision-date 2013-10-28;}
9     import ietf-inet-types {prefix inet; revision-date 2010-09-24;}
10  
11     description
12         "Service definition for Rest Connector";
13  
14     revision "2014-07-24" {
15         description
16             "Initial revision";
17     }
18     
19     identity rest-connector {
20         base "config:service-type";
21         config:java-class "org.opendaylight.controller.sal.rest.api.RestConnector";
22     }
23     
24     identity rest-connector-impl {
25         base config:module-type;
26         config:provided-service rest-connector;
27         config:java-name-prefix RestConnector;
28     }
29     
30     grouping statistics {
31         leaf received-requests {
32            type uint64;
33         }
34
35         leaf successful-responses {
36             type uint64;
37         }
38
39         leaf failed-responses {
40             type uint64;
41         }
42     }
43
44     augment "/config:modules/config:module/config:configuration" {
45         case rest-connector-impl {
46             when "/config:modules/config:module/config:type = 'rest-connector-impl'";
47             leaf websocket-port {
48                 mandatory true;
49                 type inet:port-number;
50             }
51             container dom-broker {
52                 uses config:service-ref {
53                     refine type {
54                         mandatory true;
55                         config:required-identity dom:dom-broker-osgi-registry;
56                     }
57                 }
58             }
59         }
60     }
61     
62     augment "/config:modules/config:module/config:state" {
63         case rest-connector-impl {
64             when "/config:modules/config:module/config:type = 'rest-connector-impl'";
65             container rpcs {
66                 uses statistics;
67             }
68
69             container config {
70                 container get {
71                     uses statistics;
72                 }
73                 
74                 container post {
75                     uses statistics;
76                 }
77                 
78                 container put {
79                     uses statistics;
80                 }
81                 
82                 container delete {
83                     uses statistics;
84                 }
85             }
86
87             container operational {
88                 container get {
89                     uses statistics;
90                 }
91             }
92         }
93     }
94 }