2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
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
12 namespace "urn:opendaylight:groupbasedpolicy:renderer";
13 prefix "gbp-renderer";
17 revision-date 2014-04-21;
21 revision-date 2014-04-21;
23 import ietf-inet-types {
25 revision-date 2010-09-24;
29 "This module defines renderer capabilities.";
31 revision "2015-11-03" {
36 typedef renderer-name {
38 description "A name for a renderer";
41 grouping supported-string-value-fields {
42 list supported-string-value {
43 description "String value has to be identical.";
51 grouping supported-int-value-fields {
52 list supported-int-value {
53 description "Int value has to be identical.";
59 list supported-int-value-in-range {
60 description "Int value has to be inside the range include boundaries.";
71 grouping supported-range-value-fields {
72 list supported-range-value {
73 description "Min and max values have to be inside the range include boundaries.";
84 grouping has-parameters-type {
85 choice parameter-type {
87 uses supported-string-value-fields;
90 uses supported-int-value-fields;
93 uses supported-range-value-fields;
100 "Leaf containing all renderers' description.";
106 "A renderer provides a list of capabilities.";
112 "A user-visible name for the renderer";
116 container capabilities {
117 description "Capabilities this renderer provides.";
119 list supported-classifier-definition {
121 "Classifier definitions this renderer can use.";
123 key classifier-definition-id;
125 leaf classifier-definition-id {
126 description "Reference to a classifier definition in config datastore.";
128 path "/policy:subject-feature-definitions/policy:classifier-definition/policy:id";
132 leaf parent-classifier-definition-id {
134 "Optional reference to a parent classifier definition,
135 to provide a hierarchical structure.";
137 path "/policy:subject-feature-definitions/policy:classifier-definition/policy:id";
141 list supported-parameter-values {
142 description "Represents supported paramters and its values by renderer.
143 If it contains only parameter-name without paramater-type, it means that any value is supported.";
146 leaf parameter-name {
149 path "/policy:subject-feature-definitions/policy:classifier-definition/policy:parameter/policy:name";
153 uses has-parameters-type;
157 list supported-action-definition {
159 "Action definitions this renderer can use.";
161 key action-definition-id;
163 leaf action-definition-id {
164 description "Reference to an action definition in config datastore.";
166 path "/policy:subject-feature-definitions/policy:action-definition/policy:id";
170 leaf parent-action-definition-id {
172 "Optional reference to a parent action definition,
173 to provide a hierarchical structure.";
175 path "/policy:subject-feature-definitions/policy:action-definition/policy:id";
179 list supported-parameter-values {
180 description "Represents supported paramters and its values by renderer.
181 If it contains only parameter-name without paramater-type, it means that any value is supported.";
184 leaf parameter-name {
187 path "/policy:subject-feature-definitions/policy:action-definition/policy:parameter/policy:name";
191 uses has-parameters-type;