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
9 module nemo-operation {
\r
12 namespace "urn:opendaylight:params:xml:ns:yang:nemo:operation";
\r
13 prefix "nemo-operation";
\r
15 import nemo-common {prefix nemo-common;}
\r
17 revision "2015-10-10" {
\r
19 "Initial revision.";
\r
22 container condition-parameter-definitions {
\r
23 list condition-parameter-definition {
\r
25 "Defines the condition parameter with its metadata.";
\r
27 key "parameter-name";
\r
28 leaf parameter-name {
\r
30 "A name for the condition parameter.";
\r
31 type nemo-common:parameter-name;
\r
35 leaf parameter-value-type {
\r
37 "A type of value for the condition parameter.";
\r
41 "A string-valued parameter.";
\r
45 "An integer-valued parameter.";
\r
49 "An integer-range parameter.";
\r
54 container parameter-match-patterns {
\r
56 "Defines the match patterns of the condition parameter.";
\r
58 leaf-list parameter-match-pattern {
\r
65 enum not-greater-than;
\r
74 container action-definitions {
\r
75 list action-definition {
\r
77 "Defines the actions which will be supported by the NEMO project.";
\r
82 "A name for the action definition.";
\r
83 type nemo-common:action-name;
\r
87 leaf parameter-value-type {
\r
89 "The type of the action parameter.";
\r
94 "A string-valued parameter.";
\r
98 "An integer-valued parameter.";
\r
102 "An integer-range parameter.";
\r
109 grouping condition-instance {
\r
111 "Specific a instance of condition whose metadata has been filled in.";
\r
113 list condition-segment {
\r
115 "The segment entities will be composed into a whole condition entity.
\r
116 Each segment will be a sub expression of the condition.";
\r
118 key "condition-segment-id";
\r
119 leaf condition-segment-id {
\r
121 "A unique ID for a condition segment.";
\r
122 type nemo-common:condition-segment-id;
\r
126 leaf condition-parameter-name {
\r
128 "A name for a conditon parameter.";
\r
129 type nemo-common:condition-parameter-name;
\r
132 leaf condition-parameter-match-pattern {
\r
134 "The operator for the condition parameter and it's target value.";
\r
137 enum not-less-than;
\r
141 enum not-greater-than;
\r
147 container condition-parameter-target-value {
\r
149 "The target value of condition parameter.";
\r
151 leaf string-value {
\r
159 container range-value {
\r
172 leaf precursor-relation-operator {
\r
174 "The logical operator between current segment and the next segment.";
\r
185 "The order of the segment in the whole condition entity.";
\r
191 grouping action-instance {
\r
193 "Specific a action instance whose metadata has been filled in.";
\r
197 "A name for a action instance.";
\r
198 type nemo-common:action-name;
\r
202 container parameter-values {
\r
204 "The parameter value list of an action.";
\r
206 list string-value {
\r
228 container range-value {
\r
242 grouping operation-instance {
\r
244 "Specific an operation instance whose metadata has been filled in.
\r
245 Operation is a type of intent which refers to taking for some specific
\r
246 actions to realize the purpose.";
\r
248 leaf operation-id {
\r
250 "A unique ID for a operation instance.";
\r
251 type nemo-common:operation-id;
\r
255 leaf operation-name {
\r
257 "A user-visible and unique name for a operation instance.";
\r
258 type nemo-common:operation-name;
\r
264 "Defines the priority of a operation instance.";
\r
269 leaf target-object {
\r
271 "The target object which the operation instance will apply to.";
\r
272 type nemo-common:object-id;
\r
276 uses condition-instance;
\r
280 "The action list for the operation instance.";
\r
283 uses action-instance;
\r
287 "The order of an action instance in execution sequence.";
\r