blob: 9e44fdbbb8a3fc5aeed113579959d72fdf82e87b [file] [log] [blame]
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;
}
}