2 * Copyright (c) 2015 Huawei Technologies Co., Ltd. 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
11 namespace "urn:opendaylight:params:xml:ns:yang:nemo:object";
\r
12 prefix "nemo-object";
\r
14 import nemo-common {prefix nemo-common;}
\r
16 revision "2015-06-29" {
\r
18 "Initial revision.";
\r
21 grouping property-definition {
\r
26 description "A user-visible name for the property";
\r
27 type nemo-common:property-name;
\r
31 description "The type of the property";
\r
35 description "A string-valued property";
\r
38 description "An integer-valued property";
\r
41 description "An integer-range property";
\r
46 description "Specify whether the property is
\r
47 required for object.";
\r
51 description "The property is required";
\r
54 description "The property is optional";
\r
60 container node-definitions{
\r
61 list node-definition{
\r
65 description "A unique ID for a kind of node definition";
\r
66 type nemo-common:node-definition-id;
\r
70 description "A user-readable description";
\r
71 type nemo-common:node-definition-type;
\r
74 uses property-definition;
\r
77 container connection-definitions{
\r
78 list connection-definition{
\r
81 description "A unique ID for a kind of connection definition";
\r
82 type nemo-common:connection-definition-id;
\r
85 leaf connection-type{
\r
86 description "A user-readable description";
\r
87 type nemo-common:connection-definition-type;
\r
90 uses property-definition;
\r
95 grouping match-item-definition{
\r
101 description "A user-visible name for the match-item";
\r
102 type nemo-common:match-item-name;
\r
106 description "The type of the match item";
\r
110 description "A string-valued match item";
\r
113 description "An integer-valued match item";
\r
116 description "An integer-range match item";
\r
121 description "Specify whether the match item is required
\r
126 description "The match item is required";
\r
129 description "The match item is optional";
\r
135 container flow-definitions{
\r
136 list flow-definition{
\r
139 description "A unique ID for a kind of flow definition";
\r
140 type nemo-common:flow-definition-id;
\r
144 description "A user-readable description";
\r
145 type nemo-common:flow-definition-type;
\r
148 uses match-item-definition;
\r
152 grouping node-property-instance{
\r
156 type nemo-common:node-property-name;
\r
159 leaf string-value {
\r
165 container range-value {
\r
177 grouping node-instance{
\r
180 description "A unique ID for the node instance";
\r
181 type nemo-common:node-instance-id;
\r
186 "A user-visible name for the node definition";
\r
187 type nemo-common:node-instance-name;
\r
190 type nemo-common:node-instance-type;
\r
193 container subnodes{
\r
194 leaf-list subnode-id{
\r
195 type nemo-common:node-instance-id;
\r
198 container property{
\r
199 uses node-property-instance;
\r
203 grouping connection-property-instance{
\r
207 type nemo-common:connection-property-name;
\r
210 leaf string-value {
\r
216 container range-value {
\r
228 grouping connection-instance {
\r
230 leaf connection-id {
\r
231 description "A unique ID for the connection instance";
\r
232 type nemo-common:connection-instance-id;
\r
235 leaf connection-name {
\r
236 description "A user-visible name for the connection instance";
\r
237 type nemo-common:connection-instance-name;
\r
240 leaf connection-type {
\r
241 type nemo-common:connection-instance-type;
\r
244 container endnodes{
\r
248 type nemo-common:node-instance-id;
\r
252 list the-other-end{
\r
255 type nemo-common:node-instance-id;
\r
260 container property{
\r
261 uses connection-property-instance;
\r
265 grouping match-item-instance{
\r
272 leaf string-value {
\r
278 container range-value {
\r
290 grouping has-direction {
\r
291 description "Object that have a directionality.";
\r
293 default bidirectional;
\r
297 "Applies to flow into provider node";
\r
301 "Applies to flow out of provider node";
\r
303 enum bidirectional {
\r
305 "Applies to flow in both directions";
\r
310 grouping flow-instance{
\r
312 description "A unique ID for the flow instance";
\r
313 type nemo-common:flow-instance-id;
\r
317 description "A user-visible name for the flow instance";
\r
318 type nemo-common:flow-instance-name;
\r
322 type nemo-common:flow-instance-type;
\r
326 uses has-direction;
\r
327 uses match-item-instance;
\r