8a802d37e9bdd70e277cca0e104dbf6daaefaebc
[controller.git] / opendaylight / md-sal / samples / clustering-test-app / provider / src / main / yang / clustering-it-provider.yang
1 module clustering-it-provider {
2
3     yang-version 1;
4     namespace "urn:opendaylight:params:xml:ns:yang:controller:config:clustering-it-provider";
5     prefix "clustering-it-provider";
6
7     import config { prefix config; revision-date 2013-04-05; }
8     import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; }
9     import opendaylight-entity-ownership-service { prefix entity-ownership-service; }
10
11     description
12         "This module contains the base YANG definitions for
13         clustering-it-provider implementation.";
14
15     revision "2014-08-19" {
16         description
17             "Initial revision.";
18     }
19
20     // This is the definition of the service implementation as a module identity.
21     identity clustering-it-provider {
22             base config:module-type;
23
24             // Specifies the prefix for generated java classes.
25             config:java-name-prefix ClusteringItProvider;
26     }
27
28     // Augments the 'configuration' choice node under modules/module.
29     augment "/config:modules/config:module/config:configuration" {
30         case clustering-it-provider {
31             when "/config:modules/config:module/config:type = 'clustering-it-provider'";
32
33             container rpc-registry {
34                 uses config:service-ref {
35                     refine type {
36                         mandatory true;
37                         config:required-identity mdsal:binding-rpc-registry;
38                     }
39                 }
40             }
41
42             container notification-service {
43                 uses config:service-ref {
44                     refine type {
45                         mandatory true;
46                         config:required-identity mdsal:binding-notification-service;
47                     }
48                 }
49             }
50
51             container data-broker {
52                 uses config:service-ref {
53                     refine type {
54                         mandatory false;
55                         config:required-identity mdsal:binding-async-data-broker;
56                     }
57                 }
58             }
59             
60             container ownership-service {
61                 uses config:service-ref {
62                     refine type {
63                         mandatory false;
64                         config:required-identity entity-ownership-service:entity-ownership-service;
65                     }
66                 }
67             }
68         }
69     }
70 }