c472b65dd21c0559a5effa31081e0dc5c3c3540d
[sdnc/northbound.git] / vnfapi / provider / src / main / yang / vnfapi-provider-impl.yang
1 module vnfapi-provider-impl {
2
3     yang-version 1;
4     namespace "org:onap:sdnc:vnfapi:provider:impl";
5     prefix "vnfapi-provider-impl";
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
10      description
11         "This module contains the base YANG definitions for
12         vnfapi-provider impl implementation.";
13
14     revision "2014-05-23" {
15         description
16             "Initial revision.";
17     }
18
19     // This is the definition of the service implementation as a module identity.
20     identity vnfapi-provider-impl {
21             base config:module-type;
22
23             // Specifies the prefix for generated java classes.
24             config:java-name-prefix vnfapiProvider;
25     }
26
27     // Augments the 'configuration' choice node under modules/module.
28     // We consume the three main services, RPCs, DataStore, and Notifications
29     augment "/config:modules/config:module/config:configuration" {
30         case vnfapi-provider-impl {
31             when "/config:modules/config:module/config:type = 'vnfapi-provider-impl'";
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     }
61 }