2 * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
12 namespace "urn:opendaylight:params:xml:ns:yang:nemo:common";
\r
13 prefix "nemo-common";
\r
16 "Common types and definitions for NEMO models";
\r
18 revision "2015-10-10" {
\r
20 "Initial revision.";
\r
23 // *********************
\r
25 // *********************
\r
26 typedef description {
\r
28 "A human-readable description for a object.";
\r
36 "A generic string name type. Must start with a letter";
\r
38 pattern '[a-zA-Z]([a-zA-Z0-9\-_.])*';
\r
43 // UUID type from ietf-yang-types@2013-07-15
\r
46 pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
\r
47 + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
\r
50 "A Universally Unique IDentifier in the string representation
\r
51 defined in RFC 4122. The canonical representation uses
\r
52 lower case characters.
\r
54 The following is an example of a UUID in string
\r
55 representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
\r
57 "RFC 4122: A Universally Unique IDentifier (UUID) URN
\r
63 "A globally unique identifier.";
\r
67 // *********************
\r
69 // *********************
\r
72 "A unique ID for a parameterized object.";
\r
78 "A unique ID for a node.";
\r
82 typedef connection-id {
\r
84 "A unique ID for a connection.";
\r
90 "A unique ID for a flow.";
\r
96 "A unique ID for an intent.";
\r
102 "A unique ID for a user.";
\r
106 typedef operation-id {
\r
108 "A unique ID for an operation.";
\r
112 typedef condition-segment-id {
\r
114 "A unique ID for a segment of the condition in an operation.";
\r
118 typedef query-condition-id {
\r
120 "A unique ID for a condition of the advanced query.";
\r
124 // *********************
\r
126 // *********************
\r
127 typedef object-name {
\r
129 "A name for a parameterized object";
\r
133 typedef node-name {
\r
135 "A name for a node instance.";
\r
139 typedef connection-name {
\r
141 "A name for a connection instance.";
\r
145 typedef flow-name {
\r
147 "A name for a flow instance.";
\r
151 typedef match-item-name {
\r
153 "A name for a match item.";
\r
157 typedef property-name {
\r
159 "A name for a property.";
\r
163 typedef parameter-name {
\r
165 "A name for a parameter.";
\r
169 typedef action-name {
\r
171 "A name for an action.";
\r
175 typedef condition-parameter-name {
\r
177 "A name for a parameter of condition.";
\r
181 typedef user-name {
\r
183 "A name for a user.";
\r
187 typedef user-password {
\r
189 "A password for a user.";
\r
193 typedef operation-name {
\r
195 "A name for an operation.";
\r
199 typedef query-condition-name {
\r
201 "A name for a query with condition.";
\r
205 typedef user-role-name {
\r
207 "A role name for a user.";
\r
211 typedef user-role-description {
\r
213 "It describes the role characteristic and responsibility range.";
\r
217 // *********************
\r
219 // *********************
\r
220 typedef node-type {
\r
222 "The type for a node.";
\r
226 typedef connection-type {
\r
228 "The type for a connection.";
\r
232 typedef flow-type {
\r
234 "The type for a flow.";
\r