1 module org-openroadm-resource-types {
2 namespace "http://org/openroadm/resource/types";
3 prefix org-openroadm-resource-types;
5 import org-openroadm-common-types {
6 prefix org-openroadm-common-types;
7 revision-date 2018-10-19;
15 "YANG definitions of common resource types.
17 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
18 AT&T Intellectual Property. 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";
64 typedef resource-type-enum {
69 "Resource of type not found in list.";
74 "device - ROAMD, Xponder, etc";
81 enum "shared-risk-group" {
89 "connection - this is used by roadm-connection and odu-connection
90 since they are mutually exclusive in the model";
92 enum "connection-map" {
102 enum "circuit-pack" {
107 enum "internal-link" {
112 enum "physical-link" {
137 enum "line-amplifier" {
147 enum "versioned-service" {
152 enum "temp-service" {
160 typedef resource-notification-type {
162 enum "resourceCreation" {
165 "A new instance of a resource has been created.";
167 enum "resourceModification" {
170 "An exhisting instance of a resource has been modified. This shall be triggered by changes in configuration, state, status etc.
171 It shall not be triggered by changes in performance measurements, power and temperature readings or any other data that is highlyvolatile. ";
173 enum "resourceDeletion" {
176 "An exhisting instance of a resource has been removed.";
180 "Type of notification about a resource";
183 grouping resource-type {
185 type resource-type-enum;
196 "Device identifier. Unique within the Controller.";
198 type org-openroadm-common-types:node-id-type;
200 "Node Id is a globally unique identifier for a device.
201 Same as leafref value in model, if applicable.";
205 grouping circuit-pack-name {
206 leaf circuit-pack-name {
210 "Circuit-Pack identifier. Unique within the context of a device.
211 Same as leafref value in model, if applicable.";
216 uses circuit-pack-name;
220 "Port identifier. Unique within the context of a circuit-pack.
221 Same as leafref value in model, if applicable.";
225 grouping physical-link-name {
226 leaf physical-link-name {
230 "Physical Link identifier. Unique within the context of a device.
231 Same as leafref value in model, if applicable.";
235 grouping internal-link-name {
236 leaf internal-link-name {
240 "Internal Link identifier. Unique within the context of a device.
241 Same as leafref value in model, if applicable.";
245 grouping connection-name {
246 leaf connection-name {
249 "Connection name. Unique within the context of a device.
250 Same as leafref value in model, if applicable.";
254 grouping degree-number {
258 "Degree identifier. Unique within the context of a device.
259 Same as leafref value in model, if applicable.";
263 grouping srg-number {
267 "Shared Risk Group identifier. Unique within the context of a device.
268 Same as leafref value in model, if applicable.";
272 grouping shelf-name {
277 "Shelf-id identifier. Unique within the context of a device.
278 Same as leafref value in model, if applicable.";
282 grouping service-name {
287 "Service identifier. Unique within the context of a network.
288 Same as leafref value in model, if applicable.";
292 grouping versioned-service-name {
293 leaf versioned-service-name {
297 "Service identifier. Unique within the context of a network.
298 Same as leafref value in model, if applicable.";
300 leaf version-number {
304 "version-number of the service";
308 grouping temp-service-name {
313 "Service identifier. Unique within the context of a network.
314 Same as leafref value in model, if applicable.";
318 grouping interface-name {
319 leaf interface-name {
323 "Interface identifier.";
327 grouping other-resource-id {
328 leaf other-resource-id {
332 "resource-id for other.";
336 grouping odu-sncp-pg-name {
337 leaf odu-sncp-pg-name {
341 "name of the odu-snc-pg";
345 grouping amp-number {
350 "number of the line-amplifier";
354 grouping xpdr-number {
359 "number of the xponder";