ios-xe renderer - initial push
[groupbasedpolicy.git] / renderers / ios-xe / src / main / yang / ios-xe-provider-impl.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 ios-xe-provider-impl {
10     yang-version 1;
11     namespace "urn:opendaylight:params:xml:ns:yang:groupbasedpolicy:renderer:ios-xe-provider:impl:config";
12     prefix "ios-xe-provider-impl";
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 ietf-yang-types { prefix "yang"; revision-date 2010-09-24; }
17     import opendaylight-sal-binding-broker-impl { prefix sal-broker; revision-date 2013-10-28;}
18     import groupbasedpolicy-cfg { prefix gbpcfg; revision-date 2015-11-06; }
19
20     description
21         "This module contains the base YANG definitions for
22           ios-xe-provider impl implementation.";
23
24     revision "2016-05-17" {
25         description
26             "Initial revision.";
27     }
28
29     identity ios-xe-provider-impl {
30         base "config:module-type";
31         config:java-name-prefix IosXeProvider;
32     }
33
34     // Augments the 'configuration' choice node under modules/module.
35     augment "/config:modules/config:module/config:configuration" {
36         case ios-xe-provider-impl {
37             when "/config:modules/config:module/config:type = 'ios-xe-provider-impl'";
38
39             // Wires in the data-broker service
40             container data-broker {
41                 uses config:service-ref {
42                     refine type {
43                         mandatory true;
44                         config:required-identity mdsal:binding-async-data-broker;
45                     }
46                 }
47             }
48             // binding aware broker
49             container broker {
50                 uses config:service-ref {
51                     refine type {
52                         mandatory true;
53                         config:required-identity mdsal:binding-broker-osgi-registry;
54                     }
55                 }
56             }
57             // PolicyProviderRegistry service
58             container policy-validator-registry {
59                 uses config:service-ref {
60                     refine type {
61                         mandatory true;
62                         config:required-identity gbpcfg:policy-validator-registry;
63                     }
64                 }
65             }
66         }
67     }
68 }