blob: 5fc21de9c7d4b5def21ca0116b55f69e349162b4 [file] [log] [blame]
module ciena-waveserver-module {
namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-module";
prefix mod;
import ciena-waveserver-typedefs {
prefix cienawstypes;
}
import ciena-waveserver-chassis {
prefix ciena-ws-chassis;
}
import ciena-waveserver-xcvr {
prefix xcvr;
}
organization
"Ciena Corporation";
contact
"Web URL: http://www.ciena.com/
Postal: 7035 Ridge Road
Hanover, Maryland 21076
U.S.A.
Phone: +1 800-921-1144
Fax: +1 410-694-5750";
description
"This module defines Module data for the Waveserver Platform.";
revision 2017-12-12 {
description
"Added 'cmd-4' module type support.
Renamed 'faulted' operational-state to 'fault' and add 'down' state.
Renamed 'motr-8x100' enum to 'motr-100-2'.";
reference "Waveserver Ai user's guide.";
}
revision 2017-09-05 {
description
"Waveserver Platform Data Model
Initial revision.";
reference "Waveserver Ai user's guide.";
}
typedef module-type {
type enumeration {
enum "unknown" {
description
"Unknown module type.";
}
enum "filler" {
description
"Filler card. Operational only, cannot be used for user create.";
}
enum "motr-100-2" {
description
"MOTR service module with 2 WaveLogic Ai line ports and 8 100G capable client ports.";
}
enum "cmd-4" {
description
"CMD-4 passive photonics module.";
}
}
description
"Module type.";
}
typedef module-operational-state {
type enumeration {
enum "unequipped" {
value 0;
description
"Module is not detected.";
}
enum "deprovisioned" {
value 1;
description
"Module is detected but uninitialized.";
}
enum "initializing" {
value 2;
description
"Module initialization started.";
}
enum "up" {
value 3;
description
"Module is up/operational.";
}
enum "fault" {
value 4;
description
"Module is faulted.";
}
enum "shutdown" {
value 5;
description
"Module is shutdown/powered off.";
}
enum "shutting-down" {
value 6;
description
"Module is shutting down.";
}
enum "unsupported" {
value 7;
description
"Module type is not supported.";
}
enum "mismatched" {
value 8;
description
"Detected module type does not match provisioned module type.";
}
enum "down" {
value 9;
description
"Module is down/disabled.";
}
}
description
"Module operational state.";
}
container waveserver-modules {
description
"Waveserver service module configuration data and operational data.";
list modules {
key "module-id";
description
"Module list.";
leaf module-id {
type cienawstypes:name-string;
mandatory true;
description
"Unique access identifier string of the Module, which may just be a slot number (e.g. '1'). Key value for the Module list. Read-only attribute.";
}
container id {
description
"ID information of this Module instance.";
leaf type {
type module-type;
mandatory true;
description
"The service module type. Must be specified on creation, and cannot be modified.";
}
leaf label {
type cienawstypes:description-string;
description
"The user-specified label string for this module.";
}
uses ciena-ws-chassis:device-id-group;
}
container state {
description
"State information of this Module instance.";
leaf admin-state {
type cienawstypes:enabled-disabled-enum;
description
"Whether Admin State is enabled or disabled for this Module.";
}
leaf operational-state {
type module-operational-state;
config false;
description
"Operational state of this Module.";
}
leaf last-restart {
type cienawstypes:string-maxl-32;
config false;
description
"The date and time of last restart in the format of a human readable string. e.g 'Wed Jun 30 21:49:08 2015', or 'N/A' if unavailable.";
}
leaf last-restart-reason {
type cienawstypes:restart-reason;
config false;
description
"Cause for the last restart.";
}
leaf uptime {
type cienawstypes:string-maxl-32;
config false;
description
"The time since last restart of the module, in the format of a human readable string. e.g '041d 11h 29m 53s', or 'N/A' if unavailable.";
}
}
container subcomponents {
config false;
description
"Module subcomponent (XCVR) references.";
leaf-list xcvrs {
type leafref {
path "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:xcvr-id";
}
description
"Module subcomponent (XCVR) reference list.";
}
}
}
}
rpc waveserver-module-restart {
description
"Initiates a module warm restart.";
input {
leaf module-id {
type cienawstypes:name-string;
mandatory true;
description
"Unique Module ID string.";
}
}
}
rpc waveserver-module-restart-cold {
description
"Initiates a module cold restart.";
input {
leaf module-id {
type cienawstypes:name-string;
mandatory true;
description
"Unique Module ID string.";
}
}
}
}