5957360135766285ed614adbddaee2b73757a215
[bgpcep.git] / rsvp / spi / src / main / yang / odl-rsvp-parser-spi-cfg.yang
1 // vi: set smarttab et sw=4 tabstop=4:
2 module odl-rsvp-parser-spi-cfg {
3     yang-version 1;
4     namespace "urn:opendaylight:params:xml:ns:yang:controller:rsvp:spi";
5     prefix "rsvp-spi";
6
7     import config { prefix config; revision-date 2013-04-05; }
8
9     organization "Cisco Systems, Inc.";
10
11     contact "Claudio D. Gasparini <cgaspari@cisco.com>";
12
13     description
14         "This module contains the base YANG definitions for
15          RSPV listener implementation.
16
17         Copyright (c)2015 Cisco Systems, Inc. All rights reserved.;
18
19         This program and the accompanying materials are made available
20         under the terms of the Eclipse Public License v1.0 which
21         accompanies this distribution, and is available at
22         http://www.eclipse.org/legal/epl-v10.html";
23
24    revision "2015-08-26" {
25         description
26             "Initial revision";
27     }
28
29     identity consumer-extensions {
30         description
31             "Service representing a RSVP parser extension registry. Extension
32             consumers have this service injected.";
33
34         base "config:service-type";
35         config:java-class "org.opendaylight.protocol.rsvp.parser.spi.RSVPExtensionConsumerContext";
36     }
37
38     identity rsvp-extensions {
39         description
40             "Service representing a RSVP parser extension registry. Extension
41             providers have this service injected for registration.";
42
43         base "consumer-extensions";
44         config:java-class "org.opendaylight.protocol.rsvp.parser.spi.RSVPExtensionProviderContext";
45     }
46
47     identity rsvp-extension {
48         description
49             "Service representing a RSVP parser extension.";
50
51         base "config:service-type";
52         config:java-class "org.opendaylight.protocol.rsvp.parser.spi.RSVPExtensionProviderActivator";
53     }
54
55     identity rsvp-extensions-impl {
56         base config:module-type;
57         config:provided-service rsvp-extensions;
58         config:java-name-prefix SimpleRSVPExtensionProviderContext;
59     }
60
61     augment "/config:modules/config:module/config:configuration" {
62         case rsvp-extensions-impl {
63             when "/config:modules/config:module/config:type = 'rsvp-extensions-impl'";
64
65             list rsvp-extension {
66                 uses config:service-ref {
67                     refine type {
68                         mandatory true;
69                         config:required-identity rsvp-extension;
70                     }
71                 }
72             }
73         }
74     }
75 }