summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-ssh-server@2019-07-02.yang
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-ssh-server@2019-07-02.yang')
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-ssh-server@2019-07-02.yang333
1 files changed, 333 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-ssh-server@2019-07-02.yang b/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-ssh-server@2019-07-02.yang
new file mode 100644
index 000000000..62ecaad21
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-ssh-server@2019-07-02.yang
@@ -0,0 +1,333 @@
+module ietf-ssh-server {
+ yang-version 1.1;
+ namespace "urn:ietf:params:xml:ns:yang:ietf-ssh-server";
+ prefix sshs;
+
+ import ietf-ssh-common {
+ prefix sshcmn;
+ revision-date 2019-07-02;
+ reference
+ "RFC XXXX: YANG Groupings for SSH Clients and SSH Servers";
+ }
+ import ietf-keystore {
+ prefix ks;
+ reference
+ "RFC ZZZZ: A YANG Data Model for a Keystore";
+ }
+ import iana-crypt-hash {
+ prefix ianach;
+ reference
+ "RFC 7317: A YANG Data Model for System Management";
+ }
+ import ietf-netconf-acm {
+ prefix nacm;
+ reference
+ "RFC 8341: Network Configuration Access Control Model";
+ }
+
+ organization
+ "IETF NETCONF (Network Configuration) Working Group";
+ contact
+ "WG Web: <http://datatracker.ietf.org/wg/netconf/>
+ WG List: <mailto:netconf@ietf.org>
+ Author: Kent Watsen <mailto:kent+ietf@watsen.net>
+ Author: Gary Wu <mailto:garywu@cisco.com>";
+ description
+ "This module defines reusable groupings for SSH servers that
+ can be used as a basis for specific SSH server instances.
+
+ Copyright (c) 2019 IETF Trust and the persons identified
+ as authors of the code. All rights reserved.
+
+ Redistribution and use in source and binary forms, with
+ or without modification, is permitted pursuant to, and
+ subject to the license terms contained in, the Simplified
+ BSD License set forth in Section 4.c of the IETF Trust's
+ Legal Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info).
+
+ This version of this YANG module is part of RFC XXXX
+ (https://www.rfc-editor.org/info/rfcXXXX); see the RFC
+ itself for full legal notices.;
+
+ The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
+ 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED',
+ 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document
+ are to be interpreted as described in BCP 14 (RFC 2119)
+ (RFC 8174) when, and only when, they appear in all
+ capitals, as shown here.";
+
+ revision 2019-07-02 {
+ description
+ "Initial version";
+ reference
+ "RFC XXXX: YANG Groupings for SSH Clients and SSH Servers";
+ }
+
+ feature ssh-server-transport-params-config {
+ description
+ "SSH transport layer parameters are configurable on an SSH
+ server.";
+ }
+
+ feature ssh-server-keepalives {
+ description
+ "Per socket SSH keepalive parameters are configurable for
+ SSH servers on the server implementing this feature.";
+ }
+
+ feature local-client-auth-supported {
+ description
+ "Indicates that the SSH server supports local configuration
+ of client credentials.";
+ }
+
+ feature external-client-auth-supported {
+ description
+ "Indicates that the SSH server supports external configuration
+ of client credentials.";
+ }
+
+ grouping ssh-server-grouping {
+ description
+ "A reusable grouping for configuring a SSH server without
+ any consideration for how underlying TCP sessions are
+ established.
+
+ Note that this grouping uses fairly typical descendent
+ node names such that a stack of 'uses' statements will
+ have name conflicts. It is intended that the consuming
+ data model will resolve the issue (e.g., by wrapping
+ the 'uses' statement in a container called
+ 'ssh-server-parameters'). This model purposely does
+ not do this itself so as to provide maximum flexibility
+ to consuming models.";
+ container server-identity {
+ nacm:default-deny-write;
+ description
+ "The list of host-keys the SSH server will present when
+ establishing a SSH connection.";
+ list host-key {
+ key "name";
+ min-elements 1;
+ ordered-by user;
+ description
+ "An ordered list of host keys the SSH server will use to
+ construct its ordered list of algorithms, when sending
+ its SSH_MSG_KEXINIT message, as defined in Section 7.1
+ of RFC 4253.";
+ reference
+ "RFC 4253: The Secure Shell (SSH) Transport Layer
+ Protocol";
+ leaf name {
+ type string;
+ description
+ "An arbitrary name for this host-key";
+ }
+ choice host-key-type {
+ mandatory true;
+ description
+ "The type of host key being specified";
+ container public-key {
+ description
+ "A locally-defined or referenced asymmetric key pair
+ to be used for the SSH server's host key.";
+ reference
+ "RFC ZZZZ: YANG Data Model for a Centralized
+ Keystore Mechanism";
+ uses ks:local-or-keystore-asymmetric-key-grouping;
+ }
+ container certificate {
+ if-feature "sshcmn:ssh-x509-certs";
+ description
+ "A locally-defined or referenced end-entity
+ certificate to be used for the SSH server's
+ host key.";
+ reference
+ "RFC ZZZZ: YANG Data Model for a Centralized
+ Keystore Mechanism";
+ uses ks:local-or-keystore-end-entity-cert-with-key-grouping;
+ }
+ }
+ }
+ }
+ container client-authentication {
+ nacm:default-deny-write;
+ description
+ "Specifies if SSH client authentication is required or
+ optional, and specifies if the SSH client authentication
+ credentials are configured locally or externally.";
+ container supported-authentication-methods {
+ description
+ "Indicates which authentication methods the server
+ supports.";
+ leaf publickey {
+ type empty;
+ description
+ "Indicates that the 'publickey' method is supported.
+ Note that RFC 6187 X.509v3 Certificates for SSH uses
+ the 'publickey' method name.";
+ reference
+ "RFC 4252: The Secure Shell (SSH) Authentication
+ Protocol.
+ RFC 6187: X.509v3 Certificates for Secure Shell
+ Authentication.";
+ }
+ leaf passsword {
+ type empty;
+ description
+ "Indicates that the 'password' method is supported.";
+ reference
+ "RFC 4252: The Secure Shell (SSH) Authentication
+ Protocol.";
+ }
+ leaf hostbased {
+ type empty;
+ description
+ "Indicates that the 'hostbased' method is supported.";
+ reference
+ "RFC 4252: The Secure Shell (SSH) Authentication
+ Protocol.";
+ }
+ leaf none {
+ type empty;
+ description
+ "Indicates that the 'none' method is supported.";
+ reference
+ "RFC 4252: The Secure Shell (SSH) Authentication
+ Protocol.";
+ }
+ leaf-list other {
+ type string;
+ description
+ "Indicates a supported method name not defined by
+ RFC 4253.";
+ reference
+ "RFC 4252: The Secure Shell (SSH) Authentication
+ Protocol.";
+ }
+ }
+ choice local-or-external {
+ description
+ "Indicates if the client credentials are configured
+ locally or externally.";
+ case local {
+ if-feature "local-client-auth-supported";
+ description
+ "Client credentials are configured locally.";
+ container users {
+ description
+ "A list of locally configured users.";
+ list user {
+ key "name";
+ description
+ "The list of local users configured on this device.";
+ leaf name {
+ type string;
+ description
+ "The user name string identifying this entry.";
+ }
+ leaf password {
+ type ianach:crypt-hash;
+ description
+ "The password for this entry.";
+ }
+ list authorized-key {
+ key "name";
+ description
+ "A list of public SSH keys for this user. These
+ keys are allowed for SSH authentication, as
+ described in RFC 4253.";
+ reference
+ "RFC 4253: The Secure Shell (SSH) Transport Layer
+ Protocol";
+ leaf name {
+ type string;
+ description
+ "An arbitrary name for the SSH key.";
+ }
+ leaf algorithm {
+ type string;
+ mandatory true;
+ description
+ "The public key algorithm name for this SSH key.
+
+ Valid values are the values in the IANA 'Secure
+ Shell (SSH) Protocol Parameters' registry,
+ Public Key Algorithm Names.";
+ reference
+ "IANA 'Secure Shell (SSH) Protocol Parameters'
+ registry, Public Key Algorithm Names";
+ }
+ leaf key-data {
+ type binary;
+ mandatory true;
+ description
+ "The binary public key data for this SSH key, as
+ specified by RFC 4253, Section 6.6, i.e.:
+
+ string certificate or public key format
+ identifier
+ byte[n] key/certificate data.";
+ reference
+ "RFC 4253: The Secure Shell (SSH) Transport Layer
+ Protocol";
+ }
+ }
+ }
+ }
+ }
+ case external {
+ if-feature "external-client-auth-supported";
+ description
+ "Client credentials are configured externally, such
+ as via RADIUS, RFC 7317, or another mechanism.";
+ leaf client-auth-defined-elsewhere {
+ type empty;
+ description
+ "Indicates that client credentials are configured
+ elsewhere.";
+ }
+ }
+ }
+ }
+ container transport-params {
+ nacm:default-deny-write;
+ if-feature "ssh-server-transport-params-config";
+ description
+ "Configurable parameters of the SSH transport layer.";
+ uses sshcmn:transport-params-grouping;
+ }
+ container keepalives {
+ nacm:default-deny-write;
+ if-feature "ssh-server-keepalives";
+ presence "Indicates that keepalives are enabled.";
+ description
+ "Configures the keep-alive policy, to proactively test
+ the aliveness of the SSL client. An unresponsive SSL
+ client is dropped after approximately max-wait *
+ max-attempts seconds.";
+ leaf max-wait {
+ type uint16 {
+ range "1..max";
+ }
+ units "seconds";
+ default "30";
+ description
+ "Sets the amount of time in seconds after which
+ if no data has been received from the SSL client,
+ a SSL-level message will be sent to test the
+ aliveness of the SSL client.";
+ }
+ leaf max-attempts {
+ type uint8;
+ default "3";
+ description
+ "Sets the maximum number of sequential keep-alive
+ messages that can fail to obtain a response from
+ the SSL client before assuming the SSL client is
+ no longer alive.";
+ }
+ }
+ }
+} \ No newline at end of file