blob: 5f03d552c99c70cc7f213cad589a47cdeadd4ff5 [file] [log] [blame]
module openconfig-transport-line-common {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/transport-line-common";
prefix "oc-line-com";
// import some basic types
import openconfig-platform {
prefix oc-platform;
revision-date "2016-06-06";
}
import openconfig-platform-types {
prefix oc-platform-types;
revision-date "2016-06-06";
}
import openconfig-interfaces {
prefix oc-if;
revision-date "2016-05-26";
}
import iana-if-type {
prefix ift;
revision-date "2016-11-23";
}
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 module defines common data elements for OpenConfig data
models for optical transport line system elements, such as
amplifiers and ROADMs (wavelength routers).";
oc-ext:openconfig-version "0.1.0";
revision "2016-03-31" {
description
"Initial public release";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
identity OPTICAL_LINE_PORT_TYPE {
description
"Type definition for optical node port types";
}
identity INGRESS {
base OPTICAL_LINE_PORT_TYPE;
description
"Ingress port, corresponding to a signal entering
a line device such as an amplifier or wavelength
router.";
}
identity EGRESS {
base OPTICAL_LINE_PORT_TYPE;
description
"Egress port, corresponding to a signal exiting
a line device wavelength router.";
}
identity ADD {
base OPTICAL_LINE_PORT_TYPE;
description
"Add port, corresponding to a signal injected
at a wavelength router.";
}
identity DROP {
base OPTICAL_LINE_PORT_TYPE;
description
"Drop port, corresponding to a signal dropped
at a wavelength router.";
}
// typedef statements
// grouping statements
grouping optical-osc-config {
description
"Configuration data for OSC interfaces";
leaf-list interface {
type oc-if:base-interface-ref;
description
"List of references to OSC interfaces";
}
}
grouping optical-osc-state {
description
"Operational state data for OSC interfaces";
}
grouping optical-osc-top {
description
"Top-level grouping for configuration and operational state
data for optical supervisory channels (OSC) for amplifiers,
WSS/ROADM, nodes, etc.";
container supervisory-channels {
description
"Top-level container for OSC data";
container config {
description
"Configuration data for OSCs";
uses optical-osc-config;
}
container state {
config false;
description
"Operational state data for OSCs";
uses optical-osc-config;
uses optical-osc-state;
}
}
}
grouping transport-line-common-port-config {
description
"Configuration data for optical line ports";
}
grouping transport-line-common-port-state {
description
"Operational state data describing optical line ports";
leaf optical-port-type {
type identityref {
base OPTICAL_LINE_PORT_TYPE;
}
description
"Indicates the type of transport line port. This is an
informational field that should be made available by the
device (e.g., in the openconfig-platform model).";
}
}
grouping transport-line-common-port-top {
description
"Top-level grouping ";
container optical-port {
description
"Top-level container ";
container state {
config false;
description
"Operational state data for optical line ports";
uses transport-line-common-port-config;
uses transport-line-common-port-state;
}
}
}
// data definition statements
// uses optical-osc-top;
// augment statements
/*
augment "/oc-platform:components/oc-platform:component" {
description
"Adding optical line port data to platform model";
uses transport-line-common-port-top {
when "/oc-platform:components/oc-platform:component/" +
"oc-platform:state/oc-platform:type = 'oc-platform-types:PORT'" {
description
"Augment is active when component is of type
PORT";
}
}
}
*/
//TODO:this is placeholder until SONET model is added
//to interfaces model
/* augment "/oc-if:interfaces/oc-if:interface" {
when "oc-if:type = 'ift:sonet'" {
description "Additional interface configuration parameters when
the interface type is SONET/SDH";
}
description "Adds additional SONET/SDH-specific data to
osc model";
container sonet {
description
"Data related to SONET/SDH interfaces";
}
}
*/
// rpc statements
// notification statements
}