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 interests {
117 description "Represents interests of the renderer.";
119 container followed-tenants {
120 description "Interesting tenants for the renderer.";
122 list followed-tenant {
123 description "Tenant which is followed by the renderer.";
128 type gbp-common:tenant-id;
131 list followed-endpoint-group {
132 description "Endpoint-group which is followed by the renderer.";
137 type gbp-common:endpoint-group-id;
145 container capabilities {
146 description "Capabilities this renderer provides.";
148 list supported-classifier-definition {
150 "Classifier definitions this renderer can use.";
152 key classifier-definition-id;
154 leaf classifier-definition-id {
155 description "Reference to a classifier definition in config datastore.";
157 path "/policy:subject-feature-definitions/policy:classifier-definition/policy:id";
161 leaf parent-classifier-definition-id {
163 "Optional reference to a parent classifier definition,
164 to provide a hierarchical structure.";
166 path "/policy:subject-feature-definitions/policy:classifier-definition/policy:id";
170 list supported-parameter-values {
171 description "Represents supported paramters and its values by renderer.
172 If it contains only parameter-name without paramater-type, it means that any value is supported.";
175 leaf parameter-name {
178 path "/policy:subject-feature-definitions/policy:classifier-definition/policy:parameter/policy:name";
182 uses has-parameters-type;
186 list supported-action-definition {
188 "Action definitions this renderer can use.";
190 key action-definition-id;
192 leaf action-definition-id {
193 description "Reference to an action definition in config datastore.";
195 path "/policy:subject-feature-definitions/policy:action-definition/policy:id";
199 leaf parent-action-definition-id {
201 "Optional reference to a parent action definition,
202 to provide a hierarchical structure.";
204 path "/policy:subject-feature-definitions/policy:action-definition/policy:id";
208 list supported-parameter-values {
209 description "Represents supported paramters and its values by renderer.
210 If it contains only parameter-name without paramater-type, it means that any value is supported.";
213 leaf parameter-name {
216 path "/policy:subject-feature-definitions/policy:action-definition/policy:parameter/policy:name";
220 uses has-parameters-type;