1 module org-openroadm-resource-types {
2 namespace "http://org/openroadm/resource/types";
3 prefix org-openroadm-resource-types;
5 import org-openroadm-common-node-types {
6 prefix org-openroadm-common-node-types;
7 revision-date 2021-05-28;
15 "YANG definitions of common resource types.
17 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
18 All other rights reserved.
20 Redistribution and use in source and binary forms, with or without modification,
21 are permitted provided that the following conditions are met:
23 * Redistributions of source code must retain the above copyright notice, this
24 list of conditions and the following disclaimer.
25 * Redistributions in binary form must reproduce the above copyright notice,
26 this list of conditions and the following disclaimer in the documentation and/or
27 other materials provided with the distribution.
28 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
29 contributors may be used to endorse or promote products derived from this software
30 without specific prior written permission.
32 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
33 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
35 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
36 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
37 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
38 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
39 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
40 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 POSSIBILITY OF SUCH DAMAGE";
84 typedef resource-type-enum {
89 "Resource of type not found in list.";
94 "device - ROAMD, Xponder, etc";
101 enum shared-risk-group {
109 "connection - this is used by roadm-connection and odu-connection
110 since they are mutually exclusive in the model";
112 enum connection-map {
157 enum line-amplifier {
167 enum versioned-service {
177 enum client-sncp-pg {
185 typedef resource-notification-type {
187 enum resourceCreation {
190 "A new instance of a resource has been created.";
192 enum resourceModification {
195 "An existing instance of a resource has been modified. This shall be triggered by changes in configuration, state, status etc.
196 It shall not be triggered by changes in performance measurements, power and temperature readings or any other data that is highly volatile. ";
198 enum resourceDeletion {
201 "An existing instance of a resource has been removed.";
205 "Type of notification about a resource";
208 grouping resource-type {
210 type resource-type-enum;
221 "Device identifier. Unique within the Controller.";
223 type org-openroadm-common-node-types:node-id-type;
225 "Node Id is a globally unique identifier for a device.
226 Same as leafref value in model, if applicable.";
230 grouping circuit-pack-name {
231 leaf circuit-pack-name {
235 "Circuit-Pack identifier. Unique within the context of a device.
236 Same as leafref value in model, if applicable.";
241 uses circuit-pack-name;
245 "Port identifier. Unique within the context of a circuit-pack.
246 Same as leafref value in model, if applicable.";
250 grouping physical-link-name {
251 leaf physical-link-name {
255 "Physical Link identifier. Unique within the context of a device.
256 Same as leafref value in model, if applicable.";
260 grouping internal-link-name {
261 leaf internal-link-name {
265 "Internal Link identifier. Unique within the context of a device.
266 Same as leafref value in model, if applicable.";
270 grouping connection-name {
271 leaf connection-name {
274 "Connection name. Unique within the context of a device.
275 Same as leafref value in model, if applicable.";
279 grouping degree-number {
283 "Degree identifier. Unique within the context of a device.
284 Same as leafref value in model, if applicable.";
288 grouping srg-number {
292 "Shared Risk Group identifier. Unique within the context of a device.
293 Same as leafref value in model, if applicable.";
297 grouping shelf-name {
302 "Shelf-id identifier. Unique within the context of a device.
303 Same as leafref value in model, if applicable.";
307 grouping service-name {
312 "Service identifier. Unique within the context of a network.
313 Same as leafref value in model, if applicable.";
317 grouping versioned-service-name {
318 leaf versioned-service-name {
322 "Service identifier. Unique within the context of a network.
323 Same as leafref value in model, if applicable.";
325 leaf version-number {
329 "version-number of the service";
333 grouping temp-service-name {
338 "Service identifier. Unique within the context of a network.
339 Same as leafref value in model, if applicable.";
343 grouping interface-name {
344 leaf interface-name {
348 "Interface identifier.";
352 grouping other-resource-id {
353 leaf other-resource-id {
357 "resource-id for other.";
361 grouping odu-sncp-pg-name {
362 leaf odu-sncp-pg-name {
366 "name of the odu-snc-pg";
370 grouping client-sncp-pg-name {
371 leaf client-sncp-pg-name {
375 "name of the client-snc-pg";
379 grouping amp-number {
384 "number of the line-amplifier";
388 grouping xpdr-number {
393 "number of the xponder";