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.3.0"; revision "2017-09-18" { description "Updated to use OpenConfig types modules"; reference "0.3.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 }