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-05-31;
9 import org-openroadm-otn-common-types {
10 prefix org-openroadm-otn-common-types;
11 revision-date 2018-11-30;
13 import org-openroadm-common-optical-channel-types {
14 prefix org-openroadm-common-optical-channel-types;
15 revision-date 2019-03-29;
17 import org-openroadm-resource-types {
18 prefix org-openroadm-resource-types;
19 revision-date 2018-11-30;
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";
85 "Version 2.0.1 - added revision-date to imports";
96 grouping eth-attributes {
100 "Set speed of the interface, unit mbps.
101 This is for ETH facility. ";
105 grouping mc-ttp-attributes {
107 "Media channel termination point. Models bandwidth allocation in physical media. Network media channels may be provisioned in the spectrum characterized by the frequency limits.";
109 type org-openroadm-common-optical-channel-types:frequency-THz;
112 "Minimum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L";
115 type org-openroadm-common-optical-channel-types:frequency-THz;
118 "Maximum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L";
122 grouping nmc-ctp-attributes {
124 "Network Media Channel attributes";
126 type org-openroadm-common-optical-channel-types:frequency-THz;
129 "Center Frequency in THz. This is not constrained by mc-capabilities. It must fit (when combined with width) inside any containing media channel.";
132 type org-openroadm-common-optical-channel-types:frequency-GHz;
135 "Frequency width in GHz. This is not constrained by mc-capabilities. It must fit (when combined with frequency) inside any containing media channel.";
139 grouping och-attributes {
141 "Optical Channel attributes";
144 base org-openroadm-common-optical-channel-types:och-rate-identity;
150 type org-openroadm-common-optical-channel-types:frequency-THz;
152 "Center Frequency in THz.";
155 type org-openroadm-common-optical-channel-types:frequency-GHz;
158 "Frequency width in GHz.";
160 leaf modulation-format {
161 type org-openroadm-common-optical-channel-types:modulation-format;
167 grouping odu-attributes {
172 base org-openroadm-otn-common-types:odu-rate-identity;
175 "rate identity of the ODU. 'identityref' is used
176 to allow to extend for future higher rates";
178 container parent-odu-allocation {
180 "parent odu allocation";
181 leaf trib-port-number {
186 "Assigned tributary port number in parent OPU";
188 leaf-list trib-slots {
195 "Assigned trib slots occupied in parent OPU MSI";
200 grouping otu-attributes {
205 base org-openroadm-otn-common-types:otu-rate-identity;
208 "rate identity of the OTU. 'identityref' is used
209 to allow to extend for future higher rates";
213 grouping resource-reporting {
216 base org-openroadm-interfaces:interface-type;
220 "The type of the interface.";
223 when "type = 'ethernetCsmacd'";
225 "Ethernet Interfaces";
229 when "type = 'mediaChannelTrailTerminationPoint'";
231 "Media Channel Trail Termination Point (MC-TTP)";
232 uses mc-ttp-attributes;
235 when "type = 'networkMediaChannelConnectionTerminationPoint'";
237 "Network Media Channel Connection Termination Point (NMC-CTP)";
238 uses nmc-ctp-attributes;
241 when "type = 'opticalChannel'";
243 "Optical Channel (OCh):
244 Models the optical channel interfaces for an Optical White Box.";
248 when "type = 'otnOdu'";
249 presence "Attribute Nodes for Optical Data Unit (ODU)";
251 "Optical Channel Data Unit (ODU)";
255 when "type = 'otnOtu'";
257 "Optical Channel Transport Unit (OTU)";
264 "This resource identifier is intended to provide a generic identifier
265 for any resource that can be used without specific knowledge of
269 "Device of the resource, used only when the system using this
270 model report on more than one device. ";
271 uses org-openroadm-resource-types:device-id;
276 uses org-openroadm-resource-types:circuit-pack-name;
280 uses org-openroadm-resource-types:port-name;
284 uses org-openroadm-resource-types:connection-name {
285 refine "connection-name" {
291 uses org-openroadm-resource-types:physical-link-name;
294 uses org-openroadm-resource-types:internal-link-name;
297 uses org-openroadm-resource-types:shelf-name;
300 uses org-openroadm-resource-types:srg-number {
301 refine "srg-number" {
307 uses org-openroadm-resource-types:degree-number {
308 refine "degree-number" {
314 uses org-openroadm-resource-types:service-name;
317 uses org-openroadm-resource-types:interface-name;
320 uses org-openroadm-resource-types:odu-sncp-pg-name;
323 uses org-openroadm-resource-types:other-resource-id;
326 uses org-openroadm-resource-types:device-id {
332 case line-amplifier {
333 uses org-openroadm-resource-types:amp-number;
336 uses org-openroadm-resource-types:xpdr-number;
338 case versioned-service {
339 uses org-openroadm-resource-types:versioned-service-name;
342 uses org-openroadm-resource-types:temp-service-name;
346 container resourceType {
347 uses org-openroadm-resource-types:resource-type;