| module o-ran-externalio { |
| yang-version 1.1; |
| namespace "urn:o-ran:external-io:1.0"; |
| prefix "o-ran-io"; |
| |
| organization "O-RAN Alliance"; |
| |
| contact |
| "www.o-ran.org"; |
| |
| description |
| "This module defines the input state and output configuration for |
| external IO. |
| |
| Copyright 2019 the O-RAN Alliance. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS '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 SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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. |
| |
| 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 above disclaimer. |
| * Redistributions in binary form must reproduce the above copyright notice, |
| this list of conditions and the above disclaimer in the documentation |
| and/or other materials provided with the distribution. |
| * Neither the Members of the O-RAN Alliance nor the names of its |
| contributors may be used to endorse or promote products derived from |
| this software without specific prior written permission."; |
| |
| revision "2019-03-07" { |
| description |
| "version 1.0.1 |
| |
| 1) backward compatible changes to introduce groupings."; |
| |
| reference "ORAN-WG4.M.0-v01.00"; |
| } |
| |
| revision "2019-02-04" { |
| description |
| "version 1.0.0 |
| |
| 1) imported model from xRAN |
| 2) changed namespace and reference from xran to o-ran"; |
| |
| reference "ORAN-WG4.M.0-v01.00"; |
| } |
| |
| grouping external-io-group { |
| list input { |
| key "name"; |
| config false; |
| description |
| "Leaf nodes describing external line inputs"; |
| leaf name { |
| type string { |
| length "1..255"; |
| } |
| description |
| "A unique name that identifies an input port instance. |
| This name may be used in fault management to refer to a fault source |
| or affected object"; |
| } |
| leaf port-in { |
| type uint8; |
| description |
| "A number which identifies an external input port."; |
| } |
| |
| leaf line-in { |
| type boolean; |
| default true; |
| description |
| "Value TRUE indicates that circuit is open. |
| Value FALSE indicates that circuit is closed. |
| |
| Usually when nothing is connected to the line the value is TRUE. |
| The details of external line-in implementation are HW specific."; |
| } |
| } |
| |
| list output { |
| key "name"; |
| config false; |
| description |
| "Leaf nodes describing external line outputs"; |
| leaf name { |
| type string { |
| length "1..255"; |
| } |
| description |
| "A name that is unique that identifies an output port instance. |
| This name may be used in fault management to refer to a fault source |
| or affected object"; |
| } |
| leaf port-out { |
| type uint8; |
| mandatory true; |
| description |
| "A number which identifies an external output port."; |
| } |
| } |
| |
| list output-setting { |
| key "name"; |
| |
| description |
| "List allowing to set output line state"; |
| |
| leaf name { |
| type leafref { |
| path "/external-io/output/name"; |
| require-instance false; |
| } |
| mandatory true; |
| |
| description |
| "Name derived from unmodifiable list external-io"; |
| } |
| |
| leaf line-out { |
| type boolean; |
| default true; |
| description |
| "Value TRUE indicates that circuit is in its natural state. |
| Value FALSE indicates that circuit is not in its natural state."; |
| } |
| } |
| } |
| |
| grouping notification-group { |
| container current-input-notification { |
| description "a container for the state of the input ports"; |
| list external-input { |
| key "name"; |
| description "a list of the input ports and their state"; |
| leaf name{ |
| type leafref{ |
| path "/external-io/input/name"; |
| } |
| description "the name of the ald-port"; |
| } |
| leaf io-port { |
| type leafref{ |
| path "/external-io/input/port-in"; |
| } |
| description "the external input port"; |
| } |
| leaf line-in { |
| type leafref{ |
| path "/external-io/input/line-in"; |
| } |
| description "the state of the external input port"; |
| } |
| } |
| } |
| } |
| |
| // Top Level Container |
| |
| container external-io { |
| description |
| "External IO information."; |
| uses external-io-group; |
| } |
| |
| notification external-input-change { |
| description |
| "Notification used to indicate that external line input has changed state"; |
| uses notification-group; |
| } |
| } |