1 module org-openroadm-resource {
2 namespace "http://org/openroadm/resource";
3 prefix org-openroadm-resource;
5 import org-openroadm-interfaces {
6 prefix org-openroadm-interfaces;
7 revision-date 2019-11-29;
9 import org-openroadm-otn-common-types {
10 prefix org-openroadm-otn-common-types;
11 revision-date 2020-03-27;
13 import org-openroadm-common-optical-channel-types {
14 prefix org-openroadm-common-optical-channel-types;
15 revision-date 2020-05-29;
17 import org-openroadm-resource-types {
18 prefix org-openroadm-resource-types;
19 revision-date 2019-11-29;
27 "YANG definitions of resources.
29 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
30 All other rights reserved.
32 Redistribution and use in source and binary forms, with or without modification,
33 are permitted provided that the following conditions are met:
35 * Redistributions of source code must retain the above copyright notice, this
36 list of conditions and the following disclaimer.
37 * Redistributions in binary form must reproduce the above copyright notice,
38 this list of conditions and the following disclaimer in the documentation and/or
39 other materials provided with the distribution.
40 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
41 contributors may be used to endorse or promote products derived from this software
42 without specific prior written permission.
44 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
45 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
46 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
47 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
48 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
49 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
50 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
51 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
52 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
53 POSSIBILITY OF SUCH DAMAGE";
101 "Version 2.0.1 - added revision-date to imports";
103 revision 2017-06-26 {
107 revision 2016-10-14 {
112 grouping eth-attributes {
116 "Set speed of the interface, unit mbps.
117 This is for ETH facility. ";
121 grouping mc-ttp-attributes {
123 "Media channel termination point. Models bandwidth allocation in physical media. Network media channels may be provisioned in the spectrum characterized by the frequency limits.";
125 type org-openroadm-common-optical-channel-types:frequency-THz;
128 "Minimum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L";
131 type org-openroadm-common-optical-channel-types:frequency-THz;
134 "Maximum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L";
138 grouping nmc-ctp-attributes {
140 "Network Media Channel attributes";
142 type org-openroadm-common-optical-channel-types:frequency-THz;
145 "Center Frequency in THz. This is not constrained by mc-capabilities. It must fit (when combined with width) inside any containing media channel.";
148 type org-openroadm-common-optical-channel-types:frequency-GHz;
151 "Frequency width in GHz. This is not constrained by mc-capabilities. It must fit (when combined with frequency) inside any containing media channel.";
155 grouping och-attributes {
157 "Optical Channel attributes";
160 base org-openroadm-common-optical-channel-types:och-rate-identity;
166 type org-openroadm-common-optical-channel-types:frequency-THz;
168 "Center Frequency in THz.";
171 type org-openroadm-common-optical-channel-types:frequency-GHz;
174 "Frequency width in GHz.";
176 leaf modulation-format {
177 type org-openroadm-common-optical-channel-types:modulation-format;
183 grouping odu-attributes {
188 base org-openroadm-otn-common-types:odu-rate-identity;
191 "rate identity of the ODU. 'identityref' is used
192 to allow to extend for future higher rates";
194 container parent-odu-allocation {
196 "parent odu allocation";
197 leaf trib-port-number {
202 "Assigned tributary port number in parent OPU";
204 leaf-list trib-slots {
211 "Assigned trib slots occupied in parent OPU MSI";
216 grouping otu-attributes {
221 base org-openroadm-otn-common-types:otu-rate-identity;
224 "rate identity of the OTU. 'identityref' is used
225 to allow to extend for future higher rates";
229 grouping resource-reporting {
232 base org-openroadm-interfaces:interface-type;
236 "The type of the interface.";
239 when "../type = 'ethernetCsmacd'";
241 "Ethernet Interfaces";
245 when "../type = 'mediaChannelTrailTerminationPoint'";
247 "Media Channel Trail Termination Point (MC-TTP)";
248 uses mc-ttp-attributes;
251 when "../type = 'networkMediaChannelConnectionTerminationPoint'";
253 "Network Media Channel Connection Termination Point (NMC-CTP)";
254 uses nmc-ctp-attributes;
257 when "../type = 'opticalChannel'";
259 "Optical Channel (OCh):
260 Models the optical channel interfaces for an Optical White Box.";
264 when "../type = 'otnOdu'";
265 presence "Attribute Nodes for Optical Data Unit (ODU)";
267 "Optical Channel Data Unit (ODU)";
271 when "../type = 'otnOtu'";
273 "Optical Channel Transport Unit (OTU)";
280 "This resource identifier is intended to provide a generic identifier
281 for any resource that can be used without specific knowledge of
285 "Device of the resource, used only when the system using this
286 model report on more than one device. ";
287 uses org-openroadm-resource-types:device-id;
292 uses org-openroadm-resource-types:circuit-pack-name;
296 uses org-openroadm-resource-types:port-name;
300 uses org-openroadm-resource-types:connection-name {
301 refine "connection-name" {
307 uses org-openroadm-resource-types:physical-link-name;
310 uses org-openroadm-resource-types:internal-link-name;
313 uses org-openroadm-resource-types:shelf-name;
316 uses org-openroadm-resource-types:srg-number {
317 refine "srg-number" {
323 uses org-openroadm-resource-types:degree-number {
324 refine "degree-number" {
330 uses org-openroadm-resource-types:service-name;
333 uses org-openroadm-resource-types:interface-name;
336 uses org-openroadm-resource-types:odu-sncp-pg-name;
339 uses org-openroadm-resource-types:other-resource-id;
342 uses org-openroadm-resource-types:device-id {
348 case line-amplifier {
349 uses org-openroadm-resource-types:amp-number;
352 uses org-openroadm-resource-types:xpdr-number;
354 case versioned-service {
355 uses org-openroadm-resource-types:versioned-service-name;
358 uses org-openroadm-resource-types:temp-service-name;
362 container resourceType {
363 uses org-openroadm-resource-types:resource-type;