aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang')
-rw-r--r--sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang366
1 files changed, 366 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang b/sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang
new file mode 100644
index 000000000..d8c2b4245
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang
@@ -0,0 +1,366 @@
+module org-openroadm-resource {
+ namespace "http://org/openroadm/resource";
+ prefix org-openroadm-resource;
+
+ import org-openroadm-interfaces {
+ prefix org-openroadm-interfaces;
+ revision-date 2019-11-29;
+ }
+ import org-openroadm-otn-common-types {
+ prefix org-openroadm-otn-common-types;
+ revision-date 2020-03-27;
+ }
+ import org-openroadm-common-optical-channel-types {
+ prefix org-openroadm-common-optical-channel-types;
+ revision-date 2020-05-29;
+ }
+ import org-openroadm-resource-types {
+ prefix org-openroadm-resource-types;
+ revision-date 2019-11-29;
+ }
+
+ organization
+ "Open ROADM MSA";
+ contact
+ "OpenROADM.org";
+ description
+ "YANG definitions of resources.
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+ All other rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE";
+
+ revision 2020-05-29 {
+ description
+ "Version 7.1.0";
+ }
+ revision 2020-03-27 {
+ description
+ "Version 7.0.0";
+ }
+ revision 2019-11-29 {
+ description
+ "Version 6.1.0";
+ }
+ revision 2019-09-27 {
+ description
+ "Version 6.0.0";
+ }
+ revision 2019-05-31 {
+ description
+ "Version 5.1.0";
+ }
+ revision 2019-03-29 {
+ description
+ "Version 5.0.0";
+ }
+ revision 2018-11-30 {
+ description
+ "Version 4.1.0";
+ }
+ revision 2018-09-28 {
+ description
+ "Version 4.0.0";
+ }
+ revision 2018-03-30 {
+ description
+ "Version 3.0.0";
+ }
+ revision 2017-12-15 {
+ description
+ "Version 2.2";
+ }
+ revision 2017-09-29 {
+ description
+ "Version 2.1";
+ }
+ revision 2017-07-28 {
+ description
+ "Version 2.0.1 - added revision-date to imports";
+ }
+ revision 2017-06-26 {
+ description
+ "Version 2.0";
+ }
+ revision 2016-10-14 {
+ description
+ "Version 1.2";
+ }
+
+ grouping eth-attributes {
+ leaf speed {
+ type uint32;
+ description
+ "Set speed of the interface, unit mbps.
+ This is for ETH facility. ";
+ }
+ }
+
+ grouping mc-ttp-attributes {
+ description
+ "Media channel termination point. Models bandwidth allocation in physical media. Network media channels may be provisioned in the spectrum characterized by the frequency limits.";
+ leaf min-freq {
+ type org-openroadm-common-optical-channel-types:frequency-THz;
+ config true;
+ description
+ "Minimum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L";
+ }
+ leaf max-freq {
+ type org-openroadm-common-optical-channel-types:frequency-THz;
+ config true;
+ description
+ "Maximum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L";
+ }
+ }
+
+ grouping nmc-ctp-attributes {
+ description
+ "Network Media Channel attributes";
+ leaf frequency {
+ type org-openroadm-common-optical-channel-types:frequency-THz;
+ config true;
+ description
+ "Center Frequency in THz. This is not constrained by mc-capabilities. It must fit (when combined with width) inside any containing media channel.";
+ }
+ leaf width {
+ type org-openroadm-common-optical-channel-types:frequency-GHz;
+ config true;
+ description
+ "Frequency width in GHz. This is not constrained by mc-capabilities. It must fit (when combined with frequency) inside any containing media channel.";
+ }
+ }
+
+ grouping och-attributes {
+ description
+ "Optical Channel attributes";
+ leaf rate {
+ type identityref {
+ base org-openroadm-common-optical-channel-types:och-rate-identity;
+ }
+ description
+ "rate";
+ }
+ leaf frequency {
+ type org-openroadm-common-optical-channel-types:frequency-THz;
+ description
+ "Center Frequency in THz.";
+ }
+ leaf width {
+ type org-openroadm-common-optical-channel-types:frequency-GHz;
+ config false;
+ description
+ "Frequency width in GHz.";
+ }
+ leaf modulation-format {
+ type org-openroadm-common-optical-channel-types:modulation-format;
+ description
+ "Modulation format";
+ }
+ }
+
+ grouping odu-attributes {
+ description
+ "ODU attributes";
+ leaf rate {
+ type identityref {
+ base org-openroadm-otn-common-types:odu-rate-identity;
+ }
+ description
+ "rate identity of the ODU. 'identityref' is used
+ to allow to extend for future higher rates";
+ }
+ container parent-odu-allocation {
+ description
+ "parent odu allocation";
+ leaf trib-port-number {
+ type uint16 {
+ range "1 .. 80";
+ }
+ description
+ "Assigned tributary port number in parent OPU";
+ }
+ leaf-list trib-slots {
+ type uint16 {
+ range "1 .. 80";
+ }
+ min-elements 1;
+ max-elements 80;
+ description
+ "Assigned trib slots occupied in parent OPU MSI";
+ }
+ }
+ }
+
+ grouping otu-attributes {
+ description
+ "OTU attributes";
+ leaf rate {
+ type identityref {
+ base org-openroadm-otn-common-types:otu-rate-identity;
+ }
+ description
+ "rate identity of the OTU. 'identityref' is used
+ to allow to extend for future higher rates";
+ }
+ }
+
+ grouping resource-reporting {
+ leaf type {
+ type identityref {
+ base org-openroadm-interfaces:interface-type;
+ }
+ mandatory true;
+ description
+ "The type of the interface.";
+ }
+ container ethernet {
+ when "../type = 'ethernetCsmacd'";
+ description
+ "Ethernet Interfaces";
+ uses eth-attributes;
+ }
+ container mc-ttp {
+ when "../type = 'mediaChannelTrailTerminationPoint'";
+ description
+ "Media Channel Trail Termination Point (MC-TTP)";
+ uses mc-ttp-attributes;
+ }
+ container nmc-ctp {
+ when "../type = 'networkMediaChannelConnectionTerminationPoint'";
+ description
+ "Network Media Channel Connection Termination Point (NMC-CTP)";
+ uses nmc-ctp-attributes;
+ }
+ container och {
+ when "../type = 'opticalChannel'";
+ description
+ "Optical Channel (OCh):
+ Models the optical channel interfaces for an Optical White Box.";
+ uses och-attributes;
+ }
+ container odu {
+ when "../type = 'otnOdu'";
+ presence "Attribute Nodes for Optical Data Unit (ODU)";
+ description
+ "Optical Channel Data Unit (ODU)";
+ uses odu-attributes;
+ }
+ container otu {
+ when "../type = 'otnOtu'";
+ description
+ "Optical Channel Transport Unit (OTU)";
+ uses otu-attributes;
+ }
+ }
+
+ grouping resource {
+ description
+ "This resource identifier is intended to provide a generic identifier
+ for any resource that can be used without specific knowledge of
+ the resource.";
+ container device {
+ description
+ "Device of the resource, used only when the system using this
+ model report on more than one device. ";
+ uses org-openroadm-resource-types:device-id;
+ }
+ container resource {
+ choice resource {
+ case circuit-pack {
+ uses org-openroadm-resource-types:circuit-pack-name;
+ }
+ case port {
+ container port {
+ uses org-openroadm-resource-types:port-name;
+ }
+ }
+ case connection {
+ uses org-openroadm-resource-types:connection-name {
+ refine "connection-name" {
+ mandatory true;
+ }
+ }
+ }
+ case physical-link {
+ uses org-openroadm-resource-types:physical-link-name;
+ }
+ case internal-link {
+ uses org-openroadm-resource-types:internal-link-name;
+ }
+ case shelf {
+ uses org-openroadm-resource-types:shelf-name;
+ }
+ case srg {
+ uses org-openroadm-resource-types:srg-number {
+ refine "srg-number" {
+ mandatory true;
+ }
+ }
+ }
+ case degree {
+ uses org-openroadm-resource-types:degree-number {
+ refine "degree-number" {
+ mandatory true;
+ }
+ }
+ }
+ case service {
+ uses org-openroadm-resource-types:service-name;
+ }
+ case interface {
+ uses org-openroadm-resource-types:interface-name;
+ }
+ case odu-sncp-pg {
+ uses org-openroadm-resource-types:odu-sncp-pg-name;
+ }
+ case other {
+ uses org-openroadm-resource-types:other-resource-id;
+ }
+ case device {
+ uses org-openroadm-resource-types:device-id {
+ refine "node-id" {
+ mandatory true;
+ }
+ }
+ }
+ case line-amplifier {
+ uses org-openroadm-resource-types:amp-number;
+ }
+ case xponder {
+ uses org-openroadm-resource-types:xpdr-number;
+ }
+ case versioned-service {
+ uses org-openroadm-resource-types:versioned-service-name;
+ }
+ case temp-service {
+ uses org-openroadm-resource-types:temp-service-name;
+ }
+ }
+ }
+ container resourceType {
+ uses org-openroadm-resource-types:resource-type;
+ }
+ }
+}