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 2019-11-29;
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";
76 typedef resource-type-enum {
81 "Resource of type not found in list.";
86 "device - ROAMD, Xponder, etc";
93 enum shared-risk-group {
101 "connection - this is used by roadm-connection and odu-connection
102 since they are mutually exclusive in the model";
104 enum connection-map {
149 enum line-amplifier {
159 enum versioned-service {
172 typedef resource-notification-type {
174 enum resourceCreation {
177 "A new instance of a resource has been created.";
179 enum resourceModification {
182 "An existing instance of a resource has been modified. This shall be triggered by changes in configuration, state, status etc.
183 It shall not be triggered by changes in performance measurements, power and temperature readings or any other data that is highly volatile. ";
185 enum resourceDeletion {
188 "An existing instance of a resource has been removed.";
192 "Type of notification about a resource";
195 grouping resource-type {
197 type resource-type-enum;
208 "Device identifier. Unique within the Controller.";
210 type org-openroadm-common-node-types:node-id-type;
212 "Node Id is a globally unique identifier for a device.
213 Same as leafref value in model, if applicable.";
217 grouping circuit-pack-name {
218 leaf circuit-pack-name {
222 "Circuit-Pack identifier. Unique within the context of a device.
223 Same as leafref value in model, if applicable.";
228 uses circuit-pack-name;
232 "Port identifier. Unique within the context of a circuit-pack.
233 Same as leafref value in model, if applicable.";
237 grouping physical-link-name {
238 leaf physical-link-name {
242 "Physical Link identifier. Unique within the context of a device.
243 Same as leafref value in model, if applicable.";
247 grouping internal-link-name {
248 leaf internal-link-name {
252 "Internal Link identifier. Unique within the context of a device.
253 Same as leafref value in model, if applicable.";
257 grouping connection-name {
258 leaf connection-name {
261 "Connection name. Unique within the context of a device.
262 Same as leafref value in model, if applicable.";
266 grouping degree-number {
270 "Degree identifier. Unique within the context of a device.
271 Same as leafref value in model, if applicable.";
275 grouping srg-number {
279 "Shared Risk Group identifier. Unique within the context of a device.
280 Same as leafref value in model, if applicable.";
284 grouping shelf-name {
289 "Shelf-id identifier. Unique within the context of a device.
290 Same as leafref value in model, if applicable.";
294 grouping service-name {
299 "Service identifier. Unique within the context of a network.
300 Same as leafref value in model, if applicable.";
304 grouping versioned-service-name {
305 leaf versioned-service-name {
309 "Service identifier. Unique within the context of a network.
310 Same as leafref value in model, if applicable.";
312 leaf version-number {
316 "version-number of the service";
320 grouping temp-service-name {
325 "Service identifier. Unique within the context of a network.
326 Same as leafref value in model, if applicable.";
330 grouping interface-name {
331 leaf interface-name {
335 "Interface identifier.";
339 grouping other-resource-id {
340 leaf other-resource-id {
344 "resource-id for other.";
348 grouping odu-sncp-pg-name {
349 leaf odu-sncp-pg-name {
353 "name of the odu-snc-pg";
357 grouping amp-number {
362 "number of the line-amplifier";
366 grouping xpdr-number {
371 "number of the xponder";