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
46 pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
47 + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
50 "A Universally Unique IDentifier in the string representation
51 defined in RFC 4122. The canonical representation uses
54 The following is an example of a UUID in string
55 representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
57 "RFC 4122: A Universally Unique IDentifier (UUID) URN
63 description "A globally unique identifier";
70 typedef relator-name {
72 description "A name for a relator.";
77 description "A name for a target.";
80 typedef selector-name {
82 description "A name for a selector.";
89 typedef network-domain-id {
91 description "A unique ID for a network domain";
95 type network-domain-id;
96 description "A unique ID for a subnet";
100 type network-domain-id;
101 description "A unique ID for a forwarding context";
104 typedef l2-context-id {
106 description "A unique ID for a layer 2 context";
109 typedef l2-bridge-domain-id {
111 description "A unique ID for a bridge domain";
114 typedef l2-flood-domain-id {
116 description "A unique ID for a flood domain";
119 typedef l3-context-id {
121 description "A unique ID for a layer 3 context";
126 description "A unique ID for a tenant";
129 typedef endpoint-group-id {
131 description "A unique ID for an endpoint group";
134 typedef contract-id {
136 description "A unique ID for a contract";
143 typedef matcher-name {
145 description "A name for a matcher";
148 typedef quality-matcher-name {
150 description "A name for a quality matcher";
153 typedef requirement-matcher-name {
155 description "A name for a requirement matcher";
158 typedef condition-matcher-name {
160 description "A name for a condition matcher";
163 typedef capability-matcher-name {
165 description "A name for a capability matcher";
174 description "A name for a label";
177 typedef capability-name {
179 description "A name for a capability";
182 typedef requirement-name {
184 description "A name for a requirement";
187 typedef quality-name {
189 description "A name for a quality.";
192 typedef condition-name {
194 description "A name for a condition.";
197 // ****************************
198 // Subject/clause-related names
199 // ****************************
201 typedef clause-name {
203 description "A name for a clause.";
206 typedef subject-name {
208 description "A name for a subject.";
213 description "A name for a rule.";
220 typedef subject-feature-id {
222 description "A unique ID for a parameterized object";
225 typedef classifier-definition-id {
226 type subject-feature-id;
227 description "A unique ID for a classifier.";
230 typedef action-definition-id {
231 type subject-feature-id;
232 description "A unique ID for an action.";
235 typedef subject-feature-name {
237 description "A name for a parameterized object";
240 typedef classifier-name {
241 type subject-feature-name;
242 description "A name for a classifier.";
245 typedef action-name {
246 type subject-feature-name;
247 description "A name for an action.";
250 typedef parameter-name {
252 description "A name for a parameter.";