2 * Copyright (c) 2014 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:common";
16 "Common types and definitions for group-based policy models";
18 revision "2014-04-21" {
19 description "Initial revision";
27 description "A human-readable description for a object.";
35 "A generic string name type.
36 Must start with a letter";
38 pattern '[a-zA-Z]([a-zA-Z0-9\-_.])*';
43 // UUID type from ietf-yang-types@2013-07-15
49 pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
50 + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
53 "A Universally Unique IDentifier in the string representation
54 defined in RFC 4122. The canonical representation uses
57 The following is an example of a UUID in string
58 representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
60 "RFC 4122: A Universally Unique IDentifier (UUID) URN
65 type unique-id-string;
66 description "A globally unique identifier";
69 typedef unique-id-string {
73 description "A globally unique identifier (based on String)";
80 typedef relator-name {
82 description "A name for a relator.";
87 description "A name for a target.";
90 typedef selector-name {
92 description "A name for a selector.";
99 typedef network-domain-id {
101 description "A unique ID for a network domain";
108 type network-domain-id;
109 description "A unique ID for a subnet";
113 type network-domain-id;
114 description "A unique ID for a forwarding context";
117 typedef l2-context-id {
122 description "A unique ID for a layer 2 context";
125 typedef l2-bridge-domain-id {
130 description "A unique ID for a bridge domain";
133 typedef l2-flood-domain-id {
138 description "A unique ID for a flood domain";
141 typedef l3-context-id {
146 description "A unique ID for a layer 3 context";
151 description "A unique ID for a tenant";
154 typedef endpoint-group-id {
156 description "A unique ID for an endpoint group";
159 typedef contract-id {
161 description "A unique ID for a contract";
168 typedef matcher-name {
170 description "A name for a matcher";
173 typedef quality-matcher-name {
175 description "A name for a quality matcher";
178 typedef requirement-matcher-name {
180 description "A name for a requirement matcher";
183 typedef condition-matcher-name {
185 description "A name for a condition matcher";
188 typedef capability-matcher-name {
190 description "A name for a capability matcher";
199 description "A name for a label";
202 typedef capability-name {
204 description "A name for a capability";
207 typedef requirement-name {
209 description "A name for a requirement";
212 typedef quality-name {
214 description "A name for a quality.";
217 typedef condition-name {
219 description "A name for a condition.";
222 // ****************************
223 // Subject/clause-related names
224 // ****************************
226 typedef clause-name {
228 description "A name for a clause.";
231 typedef subject-name {
233 description "A name for a subject.";
238 description "A name for a rule.";
245 typedef subject-feature-id {
246 type unique-id-string;
247 description "A unique ID for a parameterized object";
250 typedef classifier-definition-id {
251 type subject-feature-id;
252 description "A unique ID for a classifier.";
255 typedef action-definition-id {
256 type subject-feature-id;
257 description "A unique ID for an action.";
260 typedef subject-feature-name {
262 description "A name for a parameterized object";
265 typedef classifier-name {
266 type subject-feature-name;
267 description "A name for a classifier.";
270 typedef action-name {
271 type subject-feature-name;
272 description "A name for an action.";
275 typedef parameter-name {
277 description "A name for a parameter.";