blob: fcaec3609577a15e70f48d6571e8e12d2a300e04 [file] [log] [blame]
module openconfig-optical-amplifier {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/optical-amplfier";
prefix "oc-opt-amp";
import openconfig-transport-line-common {
prefix oc-line-com;
revision-date "2016-03-31";
}
import openconfig-extensions {
prefix oc-ext;
revision-date "2015-10-09";
}
// import tailf-common {prefix "tailf";}
// tailf:export netconf;
// tailf:export rest;
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This model describes configuration and operational state data
for optical amplifiers, deployed as part of a transport
line system.";
oc-ext:openconfig-version "0.1.0";
revision "2016-03-31" {
description
"Initial public release";
reference "0.1.0";
}
revision "2015-12-11" {
description
"Initial revision";
reference "TBD";
}
// extension statements
// feature statements
// identity statements
identity OPTICAL_AMPLIFIER_TYPE {
description
"Type definition for different types of optical amplifiers";
}
identity EDFA {
base OPTICAL_AMPLIFIER_TYPE;
description
"Erbium doped fiber amplifer (EDFA)";
}
identity FORWARD_RAMAN {
base OPTICAL_AMPLIFIER_TYPE;
description
"Forward pumping Raman amplifier";
}
identity BACKWARD_RAMAN {
base OPTICAL_AMPLIFIER_TYPE;
description
"Backward pumping Raman amplifier";
}
identity HYBRID {
base OPTICAL_AMPLIFIER_TYPE;
description
"Hybrid backward pumping Raman + EDFA amplifier";
}
identity GAIN_RANGE {
description
"Base type for expressing the gain range for a switched gain
amplifier. The gain range is expressed as a generic setting,
e.g., LOW/MID/HIGH. The actual db range will be determined
by the implementation.";
}
identity LOW_GAIN_RANGE {
base GAIN_RANGE;
description
"LOW gain range setting";
}
identity MID_GAIN_RANGE {
base GAIN_RANGE;
description
"MID gain range setting";
}
identity HIGH_GAIN_RANGE {
base GAIN_RANGE;
description
"HIGH gain range setting";
}
identity FIXED_GAIN_RANGE {
base GAIN_RANGE;
description
"Fixed or non-switched gain amplfier";
}
identity OPTICAL_AMPLIFIER_MODE {
description
"Type definition for different types of optical amplifier
operating modes";
}
identity CONSTANT_POWER {
base OPTICAL_AMPLIFIER_MODE;
description
"Constant power mode";
}
identity CONSTANT_GAIN {
base OPTICAL_AMPLIFIER_MODE;
description
"Constant gain mode";
}
// grouping statements
grouping optical-amplifier-config {
description
"Configuration data for optical amplifiers";
leaf name {
type string;
description
"User-defined name assigned to identify a specific amplifier
in the device";
}
leaf type {
type identityref {
base OPTICAL_AMPLIFIER_TYPE;
}
description
"Type of the amplifier";
}
leaf target-gain {
type decimal64 {
fraction-digits 2;
range 0..max;
}
units dB;
description
"Positive gain applied by the amplifier.";
}
leaf target-gain-tilt {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"Gain tilt control";
}
leaf gain-range {
type identityref {
base GAIN_RANGE;
}
description
"Selected gain range. The gain range is a platform-defined
value indicating the switched gain amplifier setting";
}
leaf amp-mode {
type identityref {
base OPTICAL_AMPLIFIER_MODE;
}
description
"The operating mode of the amplifier";
}
leaf output-power {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"Output optical power of the amplifier.";
}
}
grouping optical-amplifier-state {
description
"Operational state data for optical amplifiers";
leaf actual-gain {
type decimal64 {
fraction-digits 2;
range 0..max;
}
units dB;
description
"Actual gain applied by the amplifier.";
}
leaf actual-gain-tilt {
type decimal64 {
fraction-digits 2;
}
units dB;
description
"The actual gain tilt.";
}
leaf input-power {
type decimal64 {
fraction-digits 2;
}
units dBm;
description
"Input optical power of the amplifier.";
}
}
grouping optical-amplifier-top {
description
"Top-level grouping for optical amplifier data";
container optical-amplifiers {
description
"Enclosing container for list of amplifiers";
list amplifier {
key "name";
description
"List of optical amplifiers present in the device";
leaf name {
type leafref {
path "../config/name";
}
description
"Reference to the name of the amplifier";
}
container config {
description
"Configuration data for the amplifier";
uses optical-amplifier-config;
}
container state {
config false;
description
"Operational state data for the amplifier";
uses optical-amplifier-config;
uses optical-amplifier-state;
}
}
uses oc-line-com:optical-osc-top;
}
}
// data definition statements
uses optical-amplifier-top;
}