netconfcentral logo

yumaworks-sesmgr

HTML

yumaworks-sesmgr@2018-04-28



  module yumaworks-sesmgr {

    yang-version 1.1;

    namespace
      "http://yumaworks.com/ns/yumaworks-sesmgr";

    prefix ysmgr;

    import ietf-yang-types {
      prefix yang;
    }
    import ietf-inet-types {
      prefix inet;
    }
    import yuma-ncx {
      prefix ncx;
    }
    import yuma-types {
      prefix nt;
    }
    import yuma-app-common {
      prefix appcmn;
    }
    import yumaworks-app-common {
      prefix ywapp;
    }
    import yumaworks-types {
      prefix ywt;
    }

    organization "YumaWorks, Inc.";

    contact
      "Support <support at yumaworks.com>";

    description
      "yp-controller session manager

     Copyright (c) 2018 YumaWorks, Inc. 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 BSD 3-Clause License
     http://opensource.org/licenses/BSD-3-Clause.
    ";

    revision "2018-04-28" {
      description "Initial version";
    }


    typedef sesmgr-device-ref {
      type leafref {
        path "/ysmgr:sesmgr/ysmgr:devices/ysmgr:device/ysmgr:name";
      }
    }

    typedef sesmgr-user-ref {
      type leafref {
        path "/ysmgr:sesmgr/ysmgr:users/ysmgr:user/ysmgr:name";
      }
    }

    typedef sesmgr-session-ref {
      type leafref {
        path "/ysmgr:sesmgr/ysmgr:sessions/ysmgr:session/ysmgr:name";
      }
    }

    grouping device-cmn {
      description
        "one device endpoint configuration contents";
      leaf server {
        type inet:host;
        mandatory true;
        description
          "IP address or DNS name of the NETCONF server target.";
      }

      leaf port {
        type inet:port-number;
        description
          "NETCONF over SSH port number to use.";
      }

      leaf rc-entry-point {
        type string;
        description
          "RESTCONF entry point. Use this string instead of
           retrieving the XRD from the RESTCONF server to
           discover the entry point.";
      }

      uses appcmn:ProtocolsParm;

      leaf transport {
        type ywt:transport-type;
        description
          "transport protocol to use";
      }
    }  // grouping device-cmn

    grouping session-cmn {
      leaf name {
        type nt:NcxName;
        description
          "The name of the saved session.";
      }

      leaf user-ref {
        type sesmgr-user-ref;
        mandatory true;
        description
          "The user to use for this session";
      }
    }  // grouping session-cmn

    grouping session-state {
      container state {
        config false;
        leaf connected {
          type boolean;
          description
            "Indicates if session currently connected";
        }

        leaf connect-time {
          type yang:date-and-time;
          description
            "Date and time the session connected.";
        }

        container counters {
          leaf out-rpcs {
            type yang:zero-based-counter32;
            description
              "Number of <rpc> messages sent.";
          }

          leaf in-rpc-errors {
            type yang:zero-based-counter32;
            description
              "Number of <rpc-reply> messages received
               that contained an <rpc-error>";
          }

          leaf in-notifications {
            type yang:zero-based-counter32;
            description
              "Number of <notification> messages received.";
          }

          leaf in-octets {
            type yang:zero-based-counter32;
            description
              "Number of octets received by netconfd-pro
               for this session.";
          }

          leaf out-octets {
            type yang:zero-based-counter32;
            description
              "Number of octets sent by netconfd-pro
               for this session.";
          }
        }  // container counters
      }  // container state
    }  // grouping session-state

    container sesmgr {
      ncx:sil-delete-children-first;
      description
        "yp-controller session management configuration";
      container devices {
        ncx:sil-delete-children-first;
        description
          "yp-controller device configuration";
        list device {
          key "name";
          description
            "one device endpoint configuration";
          leaf name {
            type nt:NcxName;
            description
              "The name of the saved device.";
          }

          uses device-cmn;
        }  // list device
      }  // container devices

      container users {
        ncx:sil-delete-children-first;
        description
          "yp-controller user configuration";
        list user {
          key "name";
          description
            "one user configuration";
          leaf name {
            type nt:NcxName;
            description
              "The name of the saved user.";
          }

          leaf user {
            type nt:NcxName;
            mandatory true;
            description
              "The user name of the session.";
          }

          choice pass {
            mandatory true;
            leaf password {
              ncx:password;
              type string;
              description
                "User password to use for NETCONF users.
                 If none, then user will be prompted before connecting.";
            }
            leaf no-password {
              type empty;
            }
          }  // choice pass

          uses ywapp:SshKeyParms;

          uses ywapp:SslKeyParms;

          leaf-list admin-group {
            type nt:NcxName;
            description
              "The name of an allowed admin group for the saved user.";
          }
        }  // list user
      }  // container users

      container sessions {
        ncx:sil-delete-children-first;
        description
          "yp-controller session configuration";
        list session {
          key "name";
          description
            "one session configuration";
          uses session-cmn;

          leaf device-ref {
            type sesmgr-device-ref;
            mandatory true;
            description
              "The device to use for this session";
          }

          uses session-state;
        }  // list session

        list callhome-session {
          key "name";
          config false;
          description
            "one callhome session added by sesmgr";
          uses session-cmn;

          container device {
            uses device-cmn;
          }  // container device

          uses session-state;
        }  // list callhome-session
      }  // container sessions
    }  // container sesmgr
  }  // module yumaworks-sesmgr

Summary

  
  
Organization YumaWorks, Inc.
  
Module yumaworks-sesmgr
Version 2018-04-28
File yumaworks-sesmgr.yang
  
Prefix ysmgr
Namespace http://yumaworks.com/ns/yumaworks-sesmgr
  
Cooked /cookedmodules/yumaworks-sesmgr/2018-04-28
YANG /src/yumaworks-sesmgr@2018-04-28.yang
XSD /xsd/yumaworks-sesmgr@2018-04-28.xsd
  
Abstract yp-controller session manager Copyright (c) 2018 YumaWorks, Inc. All rights reserved. Redistribution and use in source and bin...
  
Contact
Support <support at yumaworks.com>

Description

 
yp-controller session manager

Copyright (c) 2018 YumaWorks, Inc. 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 BSD 3-Clause License
http://opensource.org/licenses/BSD-3-Clause.

Typedefs

Typedef Base type Abstract
sesmgr-device-ref leafref
sesmgr-session-ref leafref
sesmgr-user-ref leafref

Groupings

Grouping Objects Abstract
device-cmn server port rc-entry-point protocolstransport one device endpoint configuration contents
session-cmn name user-ref
session-state state

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
sesmgr container yp-controller session management configuration
   devices container yp-controller device configuration
      device list one device endpoint configuration
         name leaf The name of the saved device.
         port leaf NETCONF over SSH port number to use.
         protocols leaf Specifies which protocol versions the program or session will attempt to use. Empty set is not allowed.
         rc-entry-point leaf RESTCONF entry point. Use this string instead of retrieving the XRD from the RESTCONF server to discover the entry point.
         server leaf IP address or DNS name of the NETCONF server target.
         transport leaf transport protocol to use
   sessions container yp-controller session configuration
      callhome-session list one callhome session added by sesmgr
         device container server port rc-entry-point protocols transport
            port leaf NETCONF over SSH port number to use.
            protocols leaf Specifies which protocol versions the program or session will attempt to use. Empty set is not allowed.
            rc-entry-point leaf RESTCONF entry point. Use this string instead of retrieving the XRD from the RESTCONF server to discover the entry point.
            server leaf IP address or DNS name of the NETCONF server target.
            transport leaf transport protocol to use
         name leaf The name of the saved session.
         state container connected connect-time counters
            connect-time leaf Date and time the session connected.
            connected leaf Indicates if session currently connected
            counters container out-rpcs in-rpc-errors in-notifications in-octets out-octets
               in-notifications leaf Number of <notification> messages received.
               in-octets leaf Number of octets received by netconfd-pro for this session.
               in-rpc-errors leaf Number of <rpc-reply> messages received that contained an <rpc-error>
               out-octets leaf Number of octets sent by netconfd-pro for this session.
               out-rpcs leaf Number of <rpc> messages sent.
         user-ref leaf The user to use for this session
      session list one session configuration
         device-ref leaf The device to use for this session
         name leaf The name of the saved session.
         state container connected connect-time counters
            connect-time leaf Date and time the session connected.
            connected leaf Indicates if session currently connected
            counters container out-rpcs in-rpc-errors in-notifications in-octets out-octets
               in-notifications leaf Number of <notification> messages received.
               in-octets leaf Number of octets received by netconfd-pro for this session.
               in-rpc-errors leaf Number of <rpc-reply> messages received that contained an <rpc-error>
               out-octets leaf Number of octets sent by netconfd-pro for this session.
               out-rpcs leaf Number of <rpc> messages sent.
         user-ref leaf The user to use for this session
   users container yp-controller user configuration
      user list one user configuration
         admin-group leaf-list The name of an allowed admin group for the saved user.
         name leaf The name of the saved user.
         pass choice password no-password
            no-password case no-password
               no-password leaf OID: /sesmgr/users/user/pass/no-password/no-password
            password case password
               password leaf User password to use for NETCONF users. If none, then user will be prompted before connecting.
         private-key leaf Contains the file path specification for the file containing the client-side private key. If both 'public-key' and 'private-key' files are present, the client will attempt to connect to the server using these keys. If this fails, or not done, then passwo...
         public-key leaf Contains the file path specification for the file containing the client-side public key. If both 'public-key' and 'private-key' files are present, the client will attempt to connect to the server using these keys. If this fails, or not done, then passwor...
         ssl-certificate leaf Contains the file path specification for the file containing the client-side ssl certificate. If both 'certificate' and 'key' files are present, the client will attempt to setup a secure connection with the server using the certificate and SSL key. If th...
         ssl-fallback-ok leaf If true then an attempt to establish a plain TCP connection will be made if an SSL connection cannot be made. This parameter only applies of the 'transport' is 'ssl'
         ssl-key leaf Contains the file path specification for the file containing the client-side ssl key. If both 'certificate' and 'key' files are present, the client will attempt to setup a secure connection with the server using the certificate and SSL key. If this fails...
         ssl-trust-store leaf Contains the file path specification for the file containing the client-side ssl trust-store, or the path specification for the directory to use for finding trusted certificates. If the default value is used and the file is not found, then the default dir...
         user leaf The user name of the session.