blob: f835e35445913d44974bdd406e56e5d7c28fc66d [file] [log] [blame]
module openconfig-system-terminal {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/system/terminal";
prefix "oc-sys-term";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines configuration and operational state data
related to remote terminal services such as ssh and telnet.";
oc-ext:openconfig-version "0.2.0";
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// identity statements
// typedef statements
// grouping statements
grouping system-terminal-common-config {
description
"Common configuration data for terminal services";
leaf timeout {
type uint16;
units seconds;
description
"Set the idle timeout in seconds on terminal connections to
the system for the protocol.";
}
leaf rate-limit {
type uint16;
units "conn/min";
description
"Set a limit on the number of connection attempts per
minute to the system for the protocol.";
}
leaf session-limit {
type uint16;
description
"Set a limit on the number of simultaneous active terminal
sessions to the system for the protocol (e.g., ssh,
telnet, ...) ";
}
}
grouping system-terminal-common-state {
description
"Common operational state data for terminal services";
}
grouping system-terminal-common-top {
description
"Top-level grouping for common terminal service data";
container terminal-servers {
description
"Top-level container for terminal services";
container config {
description
"Configuration data for terminal services";
uses system-terminal-common-config;
}
container state {
config false;
description
"Operational state data ";
uses system-terminal-common-config;
uses system-terminal-common-state;
}
}
}
grouping system-ssh-server-config {
description
"Configuration data for system ssh configuration";
leaf enable {
type boolean;
default true;
description
"Enables the ssh server. The ssh server is enabled by
default.";
}
leaf protocol-version {
type enumeration {
enum V2 {
description
"Use SSH v2 only";
}
enum V1 {
description
"Use SSH v1 only";
}
enum V1_V2 {
description
"Use either SSH v1 or v2";
}
}
default V2;
description
"Set the protocol version for SSH connections to the system";
}
uses system-terminal-common-config;
}
grouping system-ssh-server-state {
description
"Operational state data for ssh server";
}
grouping system-ssh-server-top {
description
"Top-level grouping for ssh server data";
container ssh-server {
description
"Top-level container for ssh server";
container config {
description
"Configuration data for the system ssh server";
uses system-ssh-server-config;
}
container state {
config false;
description
"Operational state data for the system ssh server";
uses system-ssh-server-config;
uses system-ssh-server-state;
}
}
}
grouping system-telnet-server-config {
description
"Configuration data for telnet server";
leaf enable {
type boolean;
default false;
description
"Enables the telnet server. Telnet is disabled by
default";
}
uses system-terminal-common-config;
}
grouping system-telnet-server-state {
description
"Operational state data for telnet server";
}
grouping system-telnet-server-top {
description
"Top-level grouping for telnet server ";
container telnet-server {
description
"Top-level container for telnet terminal servers";
container config {
description
"Configuration data for telnet";
uses system-telnet-server-config;
}
container state {
config false;
description
"Operational state data for telnet";
uses system-telnet-server-config;
uses system-telnet-server-state;
}
}
}
// data definition statements
// augment statements
// rpc statements
// notification statements
}