+++ /dev/null
-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-07-03" {
- description
- "version 1.1.0
-
- 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;
- }
-}