BUG-6650: ep-ip/sgt, propose initial template provider api
[groupbasedpolicy.git] / sxp-integration / sxp-ep-provider / src / main / yang / sxp-ep-provider-cfg.yang
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 module sxp-ep-provider-cfg {
10     yang-version 1;
11     namespace "urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:sxp-integration:sxp-ep-provider";
12     prefix "sxp-ep-prvd-cfg";
13
14     import config { prefix config; revision-date 2013-04-05; }
15     import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; }
16     import groupbasedpolicy-cfg {prefix gbpcfg; revision-date 2015-11-06; }
17
18     description
19         "This module contains the base YANG definitions for
20           sxf-integration : sxp-ep-provider impl configuration.";
21
22     revision "2016-07-22" {
23         description
24             "Initial revision.";
25     }
26
27     identity sxp-ep-provider-impl {
28         description
29             "sxp-ep-provider impl module";
30
31         base "config:module-type";
32         config:provided-service sxp-ep-provider;
33         config:java-name-prefix SxpEpProviderProvider;
34     }
35
36     identity sxp-ep-provider {
37         description
38             "sxp-ep-provider injection point service for template provider";
39
40         base "config:service-type";
41         config:java-class "org.opendaylight.groupbasedpolicy.sxp.ep.provider.spi.SxpEpProviderProvider";
42     }
43
44     // Augments the 'configuration' choice node under modules/module.
45     augment "/config:modules/config:module/config:configuration" {
46         case sxp-ep-provider-impl {
47             when "/config:modules/config:module/config:type = 'sxp-ep-provider-impl'";
48
49             //wires in the data-broker service
50             container data-broker {
51                 uses config:service-ref {
52                     refine type {
53                         mandatory true;
54                         config:required-identity mdsal:binding-async-data-broker;
55                     }
56                 }
57             }
58             //RPC Registry
59             container rpc-registry {
60                 uses config:service-ref {
61                     refine type {
62                         mandatory true;
63                         config:required-identity mdsal:binding-rpc-registry;
64                     }
65                 }
66             }
67             //Domain specific registry
68             container domain-specific-registry {
69                 uses config:service-ref {
70                     refine type {
71                         mandatory true;
72                         config:required-identity gbpcfg:domain-specific-registry;
73                     }
74                 }
75             }
76         }
77     }
78 }