X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ntsimulator%2Fyang%2Fo-ran-externalio.yang;fp=ntsimulator%2Fyang%2Fo-ran-externalio.yang;h=9e44fdbbb8a3fc5aeed113579959d72fdf82e87b;hb=29ce368a8b49cb41f3a1640581ff9958ea50ad8c;hp=0000000000000000000000000000000000000000;hpb=1d6c03fcfde03df735f82913ea795a75cd3068d9;p=sim%2Fo1-interface.git diff --git a/ntsimulator/yang/o-ran-externalio.yang b/ntsimulator/yang/o-ran-externalio.yang new file mode 100644 index 0000000..9e44fdb --- /dev/null +++ b/ntsimulator/yang/o-ran-externalio.yang @@ -0,0 +1,183 @@ +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; + } +}